/D (Definicje preprocesora)
Definiuje symbol przetwarzania wstępnego dla pliku źródłowego.
/Dname[= | # [{string | number}] ]
Uwagi
Można użyć tego symbolu wraz z #if lub #ifdef, aby warunkowo skompilować kod źródłowy.Definicja symbolu pozostaje ważna, dopóki nie zostanie ponownie zdefiniowana w kodzie lub jej definicja zostanie usunięta z kodu przez dyrektywę #undef.
/D ma taki sam skutek jak dyrektywa #define na początku pliku kodu źródłowego, z tą różnicą, że /D usuwa znaki cudzysłowu w wierszu polecenia, a #define je zachowuje.
Domyślnie wartość skojarzona z symbolem to 1.Na przykład, /Dname jest równoważne /Dname**=1**.W przykładzie na końcu tego artykułu, pokazana definicja TEST drukuje 1.
Kompilowanie za pomocą /Dname**=** powoduje, że symbol nie ma żadnej wartości skojarzonej.Mimo że nadal można używać symbolu, aby warunkowo skompilować kod, szacuje się on na wartość nothing.W tym przykładzie, jeśli skompilujesz przy użyciu /DTEST=, wystąpi błąd.To zachowanie jest podobne do stosowania #define z wartością lub bez wartości.
To polecenie definiuje symbol DEBUG w TEST.c:
CL /DDEBUG TEST.C
To polecenie usuwa wszystkie wystąpienia słowa kluczowego __far w TEST.c:
CL /D__far= TEST.C
Zmiennej środowiskowej CL nie można ustawić na ciąg, który zawiera znak równości.Aby użyć /D wraz ze zmienną środowiskową CL, należy określić znak numeru zamiast znaku równości:
SET CL=/DTEST#0
Podczas definiowania symbolu przetwarzania wstępnego w wierszu polecenia, należy wziąć pod uwagę reguły analizy składni zarówno kompilatora, jak i powłoki.Na przykład, aby zdefiniować w programie symbol wstępnego przetwarzania znaku procenta (%), określ dwa znaki procenta (%%) w wierszu polecenia: Jeśli określisz tylko jeden, zostanie wygenerowany błąd analizy składni.
CL /DTEST=%% TEST.C
Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio
Otwórz okno dialogowe Strony właściwości projektu.Aby uzyskać więcej informacji, zobacz Porady: otwieranie stron właściwości projektów.
W lewym okienku wybierz Właściwości konfiguracji, C/C++, Preprocesor.
W prawym okienku, w prawej kolumnie właściwości Definicje preprocesora, otwórz menu rozwijane i wybierz Edytuj.
W oknie dialogowym Definicje preprocesora, dodaj, usuń lub zmodyfikuj jedną lub więcej definicji (po jednej na wiersz).Wybierz OK, aby zapisać zmiany.
Aby programowo ustawić tę opcję kompilatora
- Zobacz PreprocessorDefinitions.
Przykład
// 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
}