Sto utilizzando VS 2010.
Quando ho eseguito questo programma in modalità debug viene generata un'eccezione di overflow stack e mostra una linea di discontinuità nel file chkstk.asm alla linea 99.
Ma quando lo eseguo in modalità Release è OK.
Inoltre, se si riduce la dimensione di uno degli array a 10000, funziona correttamente in Debug. Qual è il motivo?stack eccezione di overflow nel programma stupido
#include <iostream>
using namespace std;
int main()
{
char w[1000001], temp[1000001];
cout<<"Why?"<<endl;
return 0;
}
Quali ottimizzazioni sono state abilitate in modalità di rilascio? C'è una buona possibilità che il compilatore stia semplicemente rimuovendo gli array. –
possibile duplicato di [Overflow dello stack durante il debug ma non nel rilascio] (http://stackoverflow.com/questions/5670904/stack-overflow-when-debugging-but-not-in-release) –
Stai chiedendo "Che cos'è il motivo per l'overflow? " O "Qual è la ragione per cui il comportamento cambia in diverse modalità di compilazione?" O qualcos'altro? –