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.

#include <br />

#include "myheader.h"<br />

Tabella 11.1: Alcuni header standard del C.<br />

header contenuto<br />

funzioni e costanti matematiche<br />

gestione dell’I/O<br />

gestione delle stringhe<br />

funzioni standard<br />

Quindi, nel primo caso il file da includere stdio.h viene ricercato in una o più directory standard,<br />

che sui sistemi Unix è /usr/include, mentre nel secondo caso il file myheader.h viene nella<br />

directory corrente.<br />

Il file incluso può contenere qualunque porzione di codice C, comprese altre direttive #include.<br />

In genere contiene direttive #define e dichiarazioni di variabili e funzioni.<br />

Funzioni, tipi, macro della libreria del C sono definiti in alcuni header file standard, ad<br />

esempio:<br />

In generale è buona regola non mettere negli header-file il codice delle funzioni, ma solo la<br />

loro definizione.<br />

11.3 La direttiva #if e #ifdef<br />

Si possono introdurre segmenti di codice in dipendenza da particolari condizioni. Il costrutto<br />

seguente valuta una espressione intera costante, il cui valore deve essere noto all’atto della<br />

compilazione:<br />

#if espressione-costante-intera<br />

/*<br />

* questo codice viene considerato<br />

* solo se l’espressione risulta<br />

* diversa da 0<br />

*/<br />

/*<br />

* endif termina la sezione<br />

* condizionale<br />

*/<br />

#endif<br />

Tutti i caratteri compresi tra#if e#endif vengono inclusi nel file che verrà passato al compilatore<br />

solo se l’espressione è diversa da 0.<br />

Similmente, il costrutto<br />

#ifdef macro<br />

/*<br />

* questo codice viene considerato<br />

* solo se "macro" è già stata definita<br />

*/<br />

111

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

Saved successfully!

Ooh no, something went wrong!