Directives de préprocesseurPreprocessor directives

Les directives de préprocesseur, telles #define que #ifdefet, sont généralement utilisées pour rendre les programmes sources faciles à modifier et à compiler dans différents environnements d’exécution.Preprocessor directives, such as #define and #ifdef, are typically used to make source programs easy to change and easy to compile in different execution environments. Les directives dans le fichier source indiquent au préprocesseur d’effectuer des actions spécifiques.Directives in the source file tell the preprocessor to take specific actions. 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.For example, the preprocessor can replace tokens in the text, insert the contents of other files into the source file, or suppress compilation of part of the file by removing sections of text. Les lignes de préprocesseur sont reconnues et exécutées avant l'expansion macro.Preprocessor lines are recognized and carried out before macro expansion. Par conséquent, si une macro se développe en un nom qui ressemble à une commande de préprocesseur, elle n’est pas reconnue par le préprocesseur.Therefore, if a macro expands into something that looks like a preprocessor command, it isn't recognized by the preprocessor.

Les instructions de préprocesseur utilisent le même jeu de caractères que les instructions de fichier source, sauf que les séquences d’échappement ne sont pas prises en charge.Preprocessor statements use the same character set as source file statements, with the exception that escape sequences aren't supported. Le jeu de caractères utilisé dans les instructions de préprocesseur est identique au jeu de caractères d'exécution.The character set used in preprocessor statements is the same as the execution character set. Le préprocesseur reconnaît aussi les valeurs de caractères négatives.The preprocessor also recognizes negative character values.

Le préprocesseur reconnaît les directives suivantes :The preprocessor recognizes the following directives:

#define#define #error#error #import#import #undef#undef
#elif#elif #if#if #include#include #using#using
#else#else #ifdef#ifdef #line#line #endif#endif
#ifndef#ifndef #pragma#pragma

Le signe dièse (#) doit être le premier caractère qui n’est pas un espace blanc sur la ligne contenant la directive.The number sign (#) must be the first nonwhite-space character on the line containing the directive. Les caractères d’espace blanc peuvent apparaître entre le signe dièse et la première lettre de la directive.White-space characters can appear between the number sign and the first letter of the directive. Certaines directives incluent des arguments ou des valeurs.Some directives include arguments or values. Tout texte qui suit une directive (sauf un argument ou une valeur qui fait partie de la directive) doit être précédé du délimiteur de commentaire sur une//seule ligne () ou placé dans les délimiteurs de commentaires (/* */).Any text that follows a directive (except an argument or value that is part of the directive) must be preceded by the single-line comment delimiter (//) or enclosed in comment delimiters (/* */). Les lignes contenant des directives de préprocesseur peuvent être poursuivies en faisant immédiatement précéder le marqueur de fin de\ligne d’une barre oblique inverse ().Lines containing preprocessor directives can be continued by immediately preceding the end-of-line marker with a backslash (\).

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 ont été affichées.Preprocessor directives can appear anywhere in a source file, but they apply only to the rest of the source file, after they appear.

Voir aussiSee also

Opérateurs de préprocesseurPreprocessor operators
Macros prédéfiniesPredefined macros
Référence du préprocesseur c/c++c/c++ preprocessor reference