Ian*_*oyd 8 windows compatibility msvcrt buffer-overflow
我和其他几千人正在收到Microsoft Visual C++运行时抛出的错误:
替代文字http://i46.tinypic.com/2enceus.png
为了搜索引擎的利益,它说:
Microsoft Visual C++ Runtime Library
Buffer overrun detected!
Program: %s
A buffer overrun has been detected which has corrupted the program's
internal state. The program cannot safely continue execution and must
now be terminated.
Run Code Online (Sandbox Code Playgroud)
现在我明白缓冲区溢出是什么,以及为什么它是一件坏事.鉴于微软新近强调" 它刚刚破解 ",MSVCRT中的额外缓冲区检查可能是一件好事.
另一方面,我不在乎.这不是程序无法继续,而是程序无法安全继续.好吧,我宁愿不安全,因为它总比没有好.我喜欢危险地生活.
所以有人可以建议吗?我在想这样的事情:
我尝试搜索编写Microsoft Visual C++运行时库的公司的支持站点,但他们没有提到哪些函数可能溢出,或者如何禁用溢出检查.
Dan*_*ite 10
这里有一个选项.将其设置为否.
项目属性 - >配置属性 - > C/C++ - >代码生成 - >缓冲区安全检查.

这对应于/ GS(缓冲区安全检查)编译器选项:
检测一些覆盖返回地址的缓冲区溢出,这是一种利用不强制执行缓冲区大小限制的代码的常用技术.这是通过将安全检查注入已编译的代码来实现的.