Directives de préprocesseur

Les directives de préprocesseur, telles que #define et #ifdef, sont généralement utilisées pour faciliter la modification et la compilation des programmes sources dans différents environnements d’exécution. Les directives du fichier source indiquent au préprocesseur d’effectuer des actions spécifiques. Par exemple, le préprocesseur peut remplacer des jetons dans le texte, insérer le contenu d'autres fichiers dans le fichier source ou supprimer la compilation d'une partie du fichier en supprimant des sections de texte. Les lignes de préprocesseur sont reconnues et exécutées avant l'expansion macro. Par conséquent, si une macro se développe en quelque chose qui ressemble à une commande de préprocesseur, elle n’est pas reconnue par le préprocesseur.

Les instructions de préprocesseur utilisent le même jeu de caractères que les instructions de fichier source, à l’exception que les séquences d’échappement ne sont pas prises en charge. Le jeu de caractères utilisé dans les instructions de préprocesseur est identique au jeu de caractères d'exécution. Le préprocesseur reconnaît aussi les valeurs de caractères négatives.

Le préprocesseur reconnaît les directives suivantes :

Le signe numérique (#) doit être le premier caractère d’espace nonwhite sur la ligne contenant la directive. Les caractères d’espace blanc peuvent apparaître entre le signe numérique et la première lettre de la directive. Certaines directives incluent des arguments ou des valeurs. Tout texte qui suit une directive (à l’exception d’un argument ou d’une valeur qui fait partie de la directive) doit être précédé du délimiteur à commentaire de ligne unique (//) ou placé entre séparateurs de commentaires (/* */). Les lignes contenant des directives de préprocesseur peuvent être poursuivies immédiatement avant le marqueur de fin de ligne avec une barre oblique inverse (\).

Les directives de préprocesseur peuvent apparaître n’importe où dans un fichier source, mais elles s’appliquent uniquement au reste du fichier source, une fois qu’elles apparaissent.

Voir aussi

Opérateurs de préprocesseur
Macros prédéfinies
Référence du préprocesseur c/c++