Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die #ifdef Direktiven und #ifndef Präprozessoren haben die gleiche Wirkung wie die #if Direktive, wenn sie mit dem defined Operator verwendet wird.
Syntax
#ifdefidentifier
#ifndefidentifier
Diese Direktiven entsprechen folgendem:
#if definedidentifier
#if !definedidentifier
Hinweise
Sie können die #ifdef Direktiven #ifndef überall #if verwenden. Die #ifdef identifier Anweisung entspricht dem Zeitpunkt, an #if 1 dem identifier sie definiert wurde. Es entspricht #if 0 dem, wann identifier er nicht definiert wurde oder von der #undef Direktive nicht definiert wurde. Diese Anweisungen überprüfen lediglich, ob die mit #define definierten Bezeichner vorhanden sind, und nicht, ob Bezeichner vorhanden sind, die im C- oder C++-Quellcode deklariert werden.
Diese Anweisungen werden nur bereitgestellt, um die Kompatibilität mit früheren Versionen der Sprache zu gewährleisten. Der defined( identifier ) konstante Ausdruck, der mit der #if Direktive verwendet wird, wird bevorzugt.
Die #ifndef Richtlinie prüft auf das Gegenteil der von #ifdef. Wenn der Bezeichner nicht definiert wurde oder seine Definition mit #undefentfernt wurde, ist die Bedingung wahr (nonzero). Andernfalls ist die Bedingung "false" (0).
Microsoft-spezifisch
Der Bezeichner kann über die Befehlszeile mithilfe der /D Option übergeben werden. Bis zu 30 Makros können mit /D.
Die #ifdef Direktive ist nützlich, um zu überprüfen, ob eine Definition vorhanden ist, da eine Definition über die Befehlszeile übergeben werden kann. Zum Beispiel:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
Ende Microsoft-spezifisch