programma con vasta gamma globale:Perché un array locale di grandi dimensioni causa il crash del mio programma?
int ar[2000000];
int main()
{
}
programma con la grande matrice locale:
int main()
{
int ar[2000000];
}
Quando mi dichiaro un array con grandi dimensioni nella funzione principale, il programma va in crash, ma quando lo dichiaro come globale, tutto funziona bene. Perché?
Inoltre, non dimenticare di controllare che malloc è riuscito – dkrikun
In Visual Studio, probabilmente si potrebbe usare questo per aumentare la dimensione massima dello stack: http://msdn.microsoft.com/en-us/library/tdkhxaks.aspx – dkrikun
Mentre il tutto - dove va cosa - su globali e oggetti con durata statica esplicita è un dettaglio di implementazione, in genere le variabili non inizializzate vanno nella sezione .bss e non gonfiano le dimensioni binarie. E [usando namespace std; è disapprovato in C++] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice). –