Quando compilo ed eseguo questo codice (fa parte di un programma molto più grande), Linux si trova a metà del ciclo while
, quindi smette semplicemente di funzionare.Perché C dovrebbe rimanere bloccato a metà del ciclo?
Il codice seguente stampa time: 0
e quindi si blocca, non facendo altro finché non sospendo il processo. Perché mai avrebbe stampato time: 0
ma non la seguente linea di controllo della sanità mentale?
while (i < 5)
{
printf("time: %d\n",elapsedTime);
printf("sanity check");
foo();
i++;
}
Oh bene. Ero preoccupato per la funzione, ma pensavo di non averlo nemmeno raggiunto. Ora che so che * sono *, posso continuare a eseguire il debug. Grazie!. Accetterò la risposta in 10 minuti. quando posso. –
@Raven: Avevi usato un debugger per eseguire il debug (l'indizio è nel nome), avresti saputo che era arrivato così lontano, e probabilmente perché alla fine era fallito (in foo() senza dubbio). – Clifford
@Clifford - sì. Sono stato viziato con lo sviluppo di Visual Studio e C#. Sfortunatamente, non riesco a convincere VS a gestire un ambiente C normale, quindi sono rimasto bloccato con JEdit da solo. –