我使用VS 2010
当我在调试模式下运行此程序,它会引发堆栈溢出异常,并显示在行在文件chkstk.asm一个特征线99
但当我在释放模式下运行它时没问题。
此外,如果我将其中一个数组的大小减少到10000,它在调试中效果很好。是什么原因?堆栈溢出异常
#include <iostream>
using namespace std;
int main()
{
char w[1000001], temp[1000001];
cout<<"Why?"<<endl;
return 0;
}
您在发布模式中启用了哪些优化?编译器很有可能只是删除数组。 –
可能的重复[调试堆栈溢出,但不是在发布](http://stackoverflow.com/questions/5670904/stack-overflow-when-debugging-but-not-in-release) –
你问“什么是溢出的原因?“或者“行为在不同构建模式下变化的原因是什么?”或者是其他东西? –