Ciao a tutti,
da poco sono stato costretto ad installare Windows 8. Dopo aver configurato MinGw + NetBeans, ho provato a fare il porting di un semplice programma che stavo facendo su Linux. Ho notato che su winzoz, se metto come dimensione dell'array 1'600'000, il programma compila ma non parte! Mentre su Linux andava alla perfezione! Se invece diminuisco la dimensione a 160'000 tutto funziona come dovrebbe.
Ho notato che, facendo il debug, mi da questo errore durante l'esecuzione:
codice:
Signal received: SIGSEGV (Segmentation fault)
e mi viene segnalato in questa porzione di codice:
codice:
void msort(long a[], long n) {
long aux[n]; // parte che genera errore
mergesort(a, 0, n-1, aux);
}
Vi posto il source completo:
fastSortingTest.c
sorting.c
Ho provato a cambiare tutti gli int in long pensando fosse questo il problema... ma a quanto pare no.
La cosa strana è che lo stesso codice funziona perfettamente su Linux con array di dimensioni anche molto maggiori! Come mai questa cosa?
Spero che riusciate a darmi una mano.
Grazie