Der Preprozessor, Teil 3

#ifdef

#ifdef         FLAGNAME

#elif

#else

#endif

Diese Preprozessorbefehle dienen der bedingten Compilierung von Programmteilen. Damit können bestimmte Programmteile aufgrund von mit #define gesetzten Flags von der Compilation ausgeschlossen werden.
Diese Hilfen werden oft verwendet, um maschinen- oder compilerabhängige Sequenzen je nach Compilertyp übersetzen zu können, ohne dass für jede Version eine eigene Quelldatei erstellt werden muss.

Beispiel:

         #define DOS
         #undef UNIX
         ...
         ...

         #ifdef DOS
         #include "c:\proghdr\header.h"
         #elif UNIX
         #include "/progheader/header.h"
         #endif

#undef

#undef FLAGNAME

Der Preprozessorbefehl #undef löscht eine zuvor gesetzte Definition eines Flags. Dieser Befehl kann auch auf Namen angewendet werden, welche gar nie definiert wurden, er hat dann keinen Effekt.