#Directives ifdef et # ifndef

Directives de préprocesseur qui déterminent si une constante ou une macro de préprocesseur spécifique est définie.

#identificateur ifdef...
#endif
#ifndef identificateur ...
#endif

Paramètres

Élément Description
identificateur
Identificateur de la constante ou de la macro à vérifier.

Remarques

Vous pouvez utiliser les # directives ifdef et # ifndef partout où peut # être utilisé. L' # instruction ifdef est équivalente à la directive. Ces directives vérifient uniquement la présence ou l’absence d’identificateurs définis à l’aide de la directive # define , et non des identificateurs déclarés dans le code source C ou C++.

Ces directives sont fournies uniquement pour des raisons de compatibilité avec les versions antérieures du langage. L’utilisation de l’opérateur défini avec la # directive if est recommandée.

La # directive ifndef vérifie l’inverse de la condition vérifiée par # ifdef. Si l’identificateur n’est pas défini, la condition est vraie (différente de zéro); dans le cas contraire, la condition est false (zéro).

Exemples

identifier peut être passé à partir de la ligne de commande à l'aide de l'option /D. Jusqu'à 30 macros peuvent être spécifiées avec /D. Cela est utile pour vérifier si une définition existe, car une définition peut être transmise à partir de la ligne de commande. L’exemple suivant utilise ce comportement pour déterminer s’il faut exécuter une application en mode test.

// PROG.CPP
#ifndef test
  #define final
#endif
int main()
{
}

En cas de compilation à l’aide de la commande suivante, Prog. cpp est compilé en mode test. dans le cas contraire, elle sera compilée en mode final.

CL.EXE /Dtest prog.cpp

Voir aussi

Directives de préprocesseur (DirectX HLSL)

#Si,)