#ifdef et #ifndef
Remonter à Présentation de la compilation conditionnelle - Index
Syntaxe
#ifdef identifier #ifndef identifier
Description
Les directives #ifdef et #ifndef sont identiques à la directive #if avec l'opérateur defined (identifier) :
#if defined identifier #if !defined identifier
Vous pouvez utiliser les directives #ifdef et #ifndef au lieu des expressions #if defined identifier
. Néanmoins, les expressions #if defined identifier
sont préférées. Les directives #ifdef et #ifndef sont seulement fournies pour la compatibilité avec les versions précédentes du langage.
Les directives conditionnelles #ifdef et #ifndef vous permettent de tester si un identificateur est actuellement défini. C'est-à-dire si une commande #define précédente a été traitée pour cet identificateur et est toujours en vigueur. La ligne
#ifdef identifier
a exactement le même effet que
#if 1
si identifier
est actuellement défini, et le même effet que
#if 0
si identifier
est actuellement indéfini.
Une directive #ifndef teste si identifier
est indéfini, de sorte que la ligne
#ifndef identifier
a exactement le même effet que
#if 0
si identifier
est actuellement défini, et le même effet que
#if 1
si identifier
est actuellement indéfini.
La syntaxe suit celle des directives #if, #elif, #else et #endif.
Un identificateur défini sur NULL est considéré comme étant défini.