ifdef, ifndef, define - was bewirken sie?

deejaymario

Grünschnabel
Hallo!
Was bewirken die "Funktionen" ifdef, ifndef und define?
Ich weiß zwar in etwa wie sie funktionieren aber was sie genau bewirken hab ich leider nicht verstanden :confused:

Über Hilfe oder Beispiele wäre ich dankbar.

Grüsse
 
Ich weiß zwar in etwa wie sie funktionieren aber was sie genau bewirken hab ich leider nicht verstanden

Die Fragestellung ist etwas verwirrend, aber ich versuch's mal:

#define definiert ein Symbol für den Präprozessor. Beispiele: #define a 1 und #define _DEBUG Damit kann man zum Beispiel Konstanten definieren oder die Kompilierung unterschiedlicher Codevarianten steuern.

#ifdef dient zur Überprüfung, ob ein Symbol definiert wurde. Ist das nicht der Fall, wird der ganze folgende Code bis hin zum nächsten #endif vollständig ignoriert. #ifndef prüft genau das Gegenteil.
Beides ist nützlich, um verschiedenen Code für unterschiedliche Konfigurationen zu kompilieren. Beispielsweise können Debugmeldungen entfallen, falls keine Debugversion erstellt wird (_DEBUG ist nicht definiert).

Übrigens erklärt die MSDN das viel besser als ich. Such mal nach "#define".
 
Zurück