© Éditions Eyrolles
205
Chapitre 12
Le préprocesseur
Nous avons déjà été amené à évoquer l’existence d’un « préprocesseur ». Il s’agit d’un programme qui est exécuté automatiquement avant la compilation et qui transforme votre fichier
source à partir d’un certain nombre de directives. Ces dernières, contrairement à ce qui se
produit pour les instructions du langage C, sont écrites sur des lignes distinctes du reste du
programme ; elles sont toujours introduites par un mot précis commençant par le caractère #.
Parmi ces directives, nous avons déjà utilisé #include et #define. Nous nous proposons
ici d’étudier les diverses possibilités offertes par le préprocesseur, à savoir :
●
l’incorporation de fichiers source (directive #include) ;
●
la définition de symboles et de macros (directive #define) ;
●
la compilation conditionnelle.
1 La directive #include
Elle permet d’incorporer, avant compilation, le texte figurant dans un fichier quelconque.
Jusqu’ici, nous n’avions incorporé de cette manière que les contenus de fichiers en-tête requis
pour le bon usage des fonctions standard. Mais cette directive peut s’appliquer également à
des fichiers de votre cru. Cela peut s’avérer utile, par exemple pour écrire une seule fois les
Delannoy Livre.book Page 205 Mercredi, 6. mai 2009 4:26 16
205
Chapitre 12
Le préprocesseur
Nous avons déjà été amené à évoquer l’existence d’un « préprocesseur ». Il s’agit d’un programme qui est exécuté automatiquement avant la compilation et qui transforme votre fichier
source à partir d’un certain nombre de directives. Ces dernières, contrairement à ce qui se
produit pour les instructions du langage C, sont écrites sur des lignes distinctes du reste du
programme ; elles sont toujours introduites par un mot précis commençant par le caractère #.
Parmi ces directives, nous avons déjà utilisé #include et #define. Nous nous proposons
ici d’étudier les diverses possibilités offertes par le préprocesseur, à savoir :
●
l’incorporation de fichiers source (directive #include) ;
●
la définition de symboles et de macros (directive #define) ;
●
la compilation conditionnelle.
1 La directive #include
Elle permet d’incorporer, avant compilation, le texte figurant dans un fichier quelconque.
Jusqu’ici, nous n’avions incorporé de cette manière que les contenus de fichiers en-tête requis
pour le bon usage des fonctions standard. Mais cette directive peut s’appliquer également à
des fichiers de votre cru. Cela peut s’avérer utile, par exemple pour écrire une seule fois les
Delannoy Livre.book Page 205 Mercredi, 6. mai 2009 4:26 16
