Preprocessore C Una estensione al linguaggio che fornisce le seguenti possibilità:
inclusione di file
definizione di costanti
Inoltre:
definizione di macro sostituzioni
compilazione condizionale
Noi useremo solo le prime due …
Preprocessore C Una estensione al linguaggio che fornisce le seguenti possibilità:
inclusione di file
definizione di costanti
Inoltre:
definizione di macro sostituzioni
compilazione condizionale
Noi useremo solo le prime due …
Preprocessore C I comandi del preprocessore iniziano con # nella prima colonna del file sorgente e non richiedono il “;” alla fine della linea.
Un compilatore C esegue la compilazione di un programma in due passi successivi.
Nel primo passo usa il preprocessore per sostituire ogni occorrenza testuale definita attraverso la direttiva # con il corrispondente testo da inserire (file, costanti, macro)
La compilazione vera e propria avviene nel secondo passo
Preprocessore C: Inclusione di file Il comando di inclusione #include permette di inserire nel sorgente che contiene la direttiva di inclusione, il file specificato, a partire dal punto in cui è presente la direttiva.
#include “const.h”
#include
Nel primo caso il file da includere verrà ricercato nella directory corrente, nel secondo verrà cercato in quella di default.
E’ convenzione che i file da includere abbiano estensione .h (header file).
Preprocessore C: Macro L’uso della direttiva #define consente anche di definire delle macro.
Una macro è una porzione di codice molto breve che è possibile rappresentare attraverso un nome; il preprocessore provvederà ad espandere il corrispondente codice in linea.
Una macro può accettare degli argomenti, nel senso che il testo da sostituire dipenderà dai parametri utilizzati all’atto del suo utilizzo. Il preprocessore espanderà il corrispondente codice in linea avendo cura di rimpiazzare ogni occorrenza del parametro formale con il corrispondente argomento reale.
Preprocessore C: Costanti Attraverso la direttiva #define del preprocessore è possibile definire delle costanti:
#define nome testo da sostituire
Esempi
#define MAXLEN 100
#define YES 1
#define NO 0
#define ERROR “File non trovato\n”
E’ uso comune indicare per le costanti (e per le macro in genere) le lettere maiuscole.
L’uso di costanti e macro sostituzioni favoriscono la leggibilità del programma e consentono un facile riuso del codice
Comments