C-Programmierung

Bedingte Kompilation

Präprozessor Macros | | Ein- und Ausgabe von Werten

Mit dem Präprozessor ist eine bedingte Kompilation in Abhängigkeit von einer Präprozessor-Definition möglich:

#define NAME

#ifdef NAME
...
#endif

Falls die Präprozessor-Definition NAME undefiniert ist, so wird der zwischen den Direktiven #ifdef und #endif befindliche Block ausgeblendet.

Eine Alternative kann ebenfalls spezifiziert werden:

#ifdef NAME
...
#else
...
#endif

Mit Hilfe der bedingten Kompilation können auf einfache Weise verschiedene Varianten desselben Programms erzeugt werden.

Häufig wird dies für plattformabhängige Codefragmente benutzt:

#ifdef _WIN32
... /* for Windows */
#endif

Mit dem Präprozessor ist eine bedingte Kompilation in Abhängigkeit von einem Bool’schen Ausdruck möglich

#if VALUE1 && VALUE2
...
#endif

Häufig wird dies während der Programmentwicklung zum Auskommentieren von unfertigem Code benutzt:

#if 0
...
#endif

Alle Direktiven zur bedingten Kompilation dĂĽrfen auch geschachtelt werden.

#ifdef _WIN32
... /* for Windows */
#else
#ifdef __APPLE__
... /* for MacOS X */
#else
... /* for Unix */
#endif
#endif


Präprozessor Macros | | Ein- und Ausgabe von Werten

Options: