Préprocesseur
De cppreference.com
< cpp
Le préprocesseur est exécuté avant que la compilation ne commence. Le résultat du prétraitement est un seul fichier "source intermédiaire" qui est ensuite passé au compilateur réel.
Directives
Les directives de prétraitement contrôlent le comportement du préprocesseur. Chaque directive occupe une ligne et a le format suivant :
- commence par le caractère
# - l'instruction pré-traitement (un parmi
define,undef,include,if,ifdef,ifndef,else,elif,endif,line,error,warning,pragma) - des paramètres (dépend de l'instruction)
- saut de ligne
La directive nulle (# suivie d'un saut de ligne) est autorisée et n'a pas d'effet.
Capacités
Le préprocesseur a les capacités de traduction du fichier source :
- compilation conditionnelle de parties de fichier source (contrôlé par les directives
#if,#ifdef,#ifndef,#else,#elifet#endif). - remplacement de macros de texte (contrôlé par les directives
#defineet#undef, et les opérateurs#et##) - inclusion d'autres fichiers (contrôlé par la directive
#include) - provoquer un avertissement (contrôlé par la directive
#warning) - provoquer une erreur (contrôlé par la directive
#error)
Les aspects suivants du préprocesseur peuvent être contrôlés :
- comportement défini par l'implémentation (contrôlé par la directive
#pragma) - nom de fichier et les informations de ligne à la disposition du préprocesseur (contrôlé par la directive
#line)