#ifdef

Mittels der #ifdef-Direktive wird genauso wie bei der #if-Direktive eine bedingte Compilierung eingeleitet. Der Preprozessor prüft hier jedoch, ob das angegebene Makro existiert.

#include <stdio.h> #define THE_BIG_NUMBER 99999999 int main(){ #ifdef THE_BIG_NUMBER printf("Big number: %d\n", THE_BIG_NUMBER); #else printf("No Big number defined.\n"); #endif return 0; }

Big number: 99999999

Siehe auch #ifndef, #if, #define, defined

Details

Die #ifdef-Direktive bewirkt dasselbe wie #if defined.

Die #ifdef-Direktive wertet den zu prüfenden Audruck nicht aus, sondern prüft lediglich dessen Existenz. Wenn das angegebene Makro existiert, so ist die Bedingung erfüllt und der Code innerhalb des Blocks wird compiliert. Andernfalls wird er komplett verworfen.