我正在使用Visual Studio 2017,已设置链接器,包括调试和发布配置。每次我尝试运行代码时,都会围绕各种变量向我抛出异常的堆栈错误。是“设置”,“窗口”等。
我已经运行了两个代码,两者的结果相同:
Test_Uniform(N)
第二个:
#include<SFML/Graphics.hpp>
#include<iostream>
int main()
{
sf::ContextSettings settings;
settings.majorVersion = 3;
settings.minorVersion = 3;
settings.depthBits = 24;
settings.antialiasingLevel = 16;
sf::RenderWindow window(sf::VideoMode(800, 600), "Game", sf::Style::Default);
window.setActive(true);
window.setFramerateLimit(60);
while (window.isOpen())
{
window.clear(sf::Color::Black);
window.display();
sf::Event ev;
while (window.pollEvent(ev))
{
if (ev.type == sf::Event::Closed || sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
{
window.close();
}
}
}
return 0;
}
两个代码都抛出类似的异常,第一个程序抛出:
运行时检查失败#2-变量“设置”周围的堆栈已损坏。
运行时检查失败#2-变量“窗口”周围的堆栈已损坏。
第二个投掷
运行时检查失败#2-变量'texture'周围的堆栈已损坏。
当我在调试器中按“继续”时,它将指向带有未处理异常的gs_report:
Project2.exe中0x00A36859的未处理异常:堆栈cookie工具代码检测到基于堆栈的缓冲区溢出。
代码有问题吗?还是我的设置有问题?