Udostępnij za pośrednictwem


/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

  1. 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.

  2. W lewym okienku wybierz Właściwości konfiguracji, C/C++, Preprocesor.

  3. W prawym okienku, w prawej kolumnie właściwości Definicje preprocesora, otwórz menu rozwijane i wybierz Edytuj.

  4. 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

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
}
  

Zobacz też

Informacje

Opcje kompilatora

Ustawianie opcji kompilatora

/U, /u (Usuń definicje symboli)

#undef — dyrektywa (C/C++)

#define — dyrektywa (C/C++)