18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!