/D (Präprozessordefinitionen)
Aktualisiert: November 2007
Definiert ein Vorverarbeitungssymbol für die Quelldatei.
/Dname[= | # [{string | number}] ]
Hinweise
Sie können dieses Symbol mit #if oder #ifdef zur bedingten Kompilierung der Quelle verwenden. Die Symboldefinitionen bleiben wirksam, bis in der Quelle eine Neudefinition gefunden oder die Symboldefinition mit der #undef-Direktive aufgehoben wird.
/D hat nahezu die gleiche Wirkung wie die Verwendung der #define-Direktive am Anfang der Quelldatei. /D entfernt jedoch Anführungszeichen in der Befehlszeile, während #define sie beibehält.
Standardmäßig wird einem Symbol der Wert 1 zugeordnet. Das heißt, /DTEST ist äquivalent zu /DTEST=1. Im folgenden Beispiel wird gezeigt, wie bei der Definition von TEST 1 ausgegeben wird.
Bei der Kompilierung mit /Dname= wird dem Symbol kein Wert zugeordnet. Obwohl das Symbol trotzdem zur bedingten Codekompilierung verwendet werden kann, wird das Symbol als leer ausgewertet. So führt die Kompilierung mit /DTEST= im Beispielprogramm oben zu einem Compilerfehler. Dieses Verhalten ist mit der Verwendung von #define mit oder ohne Wert vergleichbar.
Mit der nachfolgenden Befehlszeile wird das Symbol DEBUG in TEST.c definiert:
CL /DDEBUG TEST.C
Mit dem folgenden Befehl werden alle Vorkommen des Schlüsselworts __far aus TEST.C entfernt:
CL /D__far= TEST.C
Sie können die Umgebungsvariable CL nicht für eine Zeichenfolge festlegen, die ein Gleichheitszeichen enthält. Um /D zusammen mit der Umgebungsvariable CL zu verwenden, geben Sie ein Nummernzeichen anstelle eines Gleichheitszeichens an:
SET CL=/DTEST#0
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite Präprozessor.
Ändern Sie die Eigenschaft Präprozessordefinitionen.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe PreprocessorDefinitions.
Beispiel
// cpp_D_compiler_option.cpp
// compile with: /DTEST
#include <stdio.h>
int main( )
{
#ifdef TEST
printf_s("TEST defined %d\n", TEST);
#else
printf_s("TEST not defined\n");
#endif
}
TEST defined 1
Siehe auch
Referenz
Festlegen von Compileroptionen