我使用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) –
你問「什麼是溢出的原因?「或者「行爲在不同構建模式下變化的原因是什麼?」或者是其他東西? –