#ifdef-Direktive

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.






Big number: 99999999
#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;
}

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.