Note su DevC++

[Premessa: salvate sempre i file C con l'estenzione .C!]



Ogni studente è libero di scegliere l'ambiente di sviluppo ed il compilatore C che preferisce, a patto che il compilatore rispetti lo standard ISO/IEC 9899:1989 (detto anche ANSI C o standard C89). Eccetto rare eccezioni, la maggiornaza dei compilatori C soddisfa questa richiesta.

A lezione è stato suggerito l'ambiente integrato (IDE) DevC++ che funziona da front-end verso l'ottimo compilatore GCC (nella versione Win32 approntata da MinGW). GCC soddisfa pienamente lo standard C89 e tollerà alcune estensioni. Quelle che sono ritenute ragionevoli per il progetto sono:

Se lavorate a casa, scaricate ed installate il file devcpp4980.exe. Inoltre scaricate ed installate nella stessa directory l'aggiornamento devcpp49810.exe; questo risolverà molti dei problemi avuti con la versione utilizzata durante le esercitazioni.

Durante le esercitazioni, l'utilizzo del debugger è risultato particolarmente problematico. Infatti, di default per fare il debug di un programma con il DevC++ dovete fare cinque passaggi:

  1. compilare il file sorgente (CTRL+F9)
  2. lanciare il debugger (F8 oppure menù Debug->Debug). DevC++ protesta che il progetto non contiene informazioni di debug: "Your project does not have debugging information, do you want to enable debugging and rebuild your project?". Rispondere di . ATTENZIONE: questo non vuol dire che il programma è stato ricompilato ma solo che l'opzione di debug è stata selezionata.
  3. compilare il file sorgente (CTRL+F9) questa volta con le informazioni di debug.
  4. impostate un break-point alla riga dove volete si interrompa l'esecuzione (cliccare con il mouse a sinistra della riga desiderata, compare un pallino rosso e verde).
  5. lanciate il debugger (F8 oppure menù Debug->Debug). Il debugging ha luogo regolarmente.

Un altro aspetto risultato problematico è lo scarso livello di warning (allarme) impostato di default dal DevC++. Il compilatore non avvisa se mancano le definizioni di alcune procedure (si è dimenticata una direttiva #include ad esempio) o se ci sono nel codice variabili inutili.

Per risolvere definitivamente entrambi i problemi si consiglia caldamente la seguente soluzione.

Da ora in avanti, per fare il debug dovete solo eseguire i passaggi dal 3 al 5 perché le informazioni necessarie vengono incluse sempre automaticamente. Inoltre il compilatore emette un numero maggiore di messaggi di avviso, molto utili per individuare eventuali malfunzionamenti o errori.





Informazioni sul sito