Se il programma segue sempre lo stesso percorso di codice, senza che ci siano differenze tra un'esecuzione e l'altra, non dovrebbero esserci differenze.Originariamente inviato da No_Rules
Si questo lo supponevo anche io, che ci venisse mostrato un qualcosa di preesistente in quella locazione di memoria, ma perché è sempre lo stesso numero...Sarebbe dovuto comunque essere diverso ogni volta no?
Piuttosto, la cosa interessante è che ci siano stati dei dati in quella locazione di memoria se il tuo programma è composto solo dal main, dato che i sistemi operativi moderni di base ti forniscono pagine di memoria piene di zeri (per evitare che tu possa leggere i dati di altri processi da una pagina fisica precedentemente assegnata ad un altro processo) e, apparentemente, la zona più "in cima" allo stack a cui il tuo programma arriva sono appunto le variabili del main.
Questo probabilmente accade per via del main "nascosto", ossia il vero entrypoint dell'eseguibile che è preso dalla CRT, in cui il runtime richiama una serie di routine di inizializzazione. Probabilmente quel valore è stato messo sullo stack durante queste procedure.
:master:Originariamente inviato da linoma
Questo nn succede xche usi una versione successiva a Windows 95/98![]()