Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Se non fosse specificata l’opzione -o, il compilatore produrrebbe un file eseguibile denominato<br />
a.out. Se non fosse specificata l’opzione -Wall, il compilatore genererebbe solo i messaggi di<br />
avvertimento <strong>per</strong> i casi piu’ “gravi”, mentre non visualizzerebbe avvertimenti in molti casi che<br />
spesso producono comunque effetti indesiderati.<br />
I messaggi del compilatore possono essere infatti di due tipi: segnalazioni di errore o warnings.<br />
In caso di errore, dovuti a errori di sintassi, la compilazione termina prematuramente e non viene<br />
quindi generato il file eseguibile. Nel caso di warnings, invece, la compilazione termina correttamente,<br />
producendo il file eseguibile. Un messaggio di avvertimento segnala al programmatore<br />
che ci potrebbe essere un errore di tipo semantico all’interno del programma (quelli di sintassi,<br />
si e’ detto, generano un errore). In alcuni casi il programma funziona correttamente anche in<br />
presenza di warnings, <strong>per</strong> esempio quando la segnalazione riguarda variabili dichiarate ma non<br />
utilizzate. In altri casi i problemi sono piu’ insidiosi. Percio’, come regola generale, e’ bene<br />
realizzare programmi che generino quanti meno messaggi di avvertimento possibile.<br />
Un esempio di esecuzione del programma di esempio e’ la seguente:<br />
$ ./hello<br />
Salve, Mondo!<br />
4.3 I commenti<br />
I commenti sono porzioni di testo inserito in un programma che non vengono considerate dal<br />
compilatore al momento di generare il file oggetto. Vengono inseriti normalmente <strong>per</strong> <strong>per</strong>mettere<br />
una più facile lettura e comprensione del codice.<br />
I commenti sono delimitati da /* e */ oppure si estendono da // a fine riga. La seconda<br />
forma viene dal C++, e molti programmatori C non la apprezzano.<br />
Nell’esempio seguente sono utilizzate entrambe le tipologie di commento.<br />
/*<br />
* questo e’ un commento<br />
*/<br />
printf("Salve, Mondo!\n"); // anche questo e’ un commento<br />
printf("Salve, Mondo!\n"); /* e questo pure */<br />
È sempre buona norma commentare adeguatamente i propri programmi spiegando come e <strong>per</strong>ché<br />
il programma fa una certa cosa, non cosa fa, <strong>per</strong>ché il cosa sta già nel codice. Questa regola vale<br />
<strong>per</strong> tutti i linguaggi, ma è così importante che val la pena di ripeterla.<br />
4.4 Nota stilistica<br />
Insieme ai commenti, uno degli aspetti che contribuisce di piu’ <strong>alla</strong> realizzazione di programmi<br />
comprensibili e quindi piu’ semplici da esaminare e manutenere anche a distanza di tempo, e’ lo<br />
stile col quale vengono organizzate le istruzioni del programma dal punto di vista “estetico”.<br />
Si noti che il programma seguente<br />
#include <br />
int main(){printf("Salve, Mondo!\n");return 0;}<br />
e’, dal punto di vista funzionale, esattamente identico al programma di esempio iniziale. Infatti<br />
e’ una pura convenzione stilistica il fatto di scrivere le istruzioni su righe diverse, facendo opportunamente<br />
rientrare, ovvero indentando, le righe stesse. Questo <strong>per</strong>che’ lo spazio e l’andata a<br />
36