Sdílet prostřednictvím


/D (definice preprocesoru)

Definuje symbol předzpracování pro zdrojový soubor.

/Dname[= | # [{string | number}] ]

Poznámky

Tento symbol můžete použít spolu s #if nebo #ifdef k podmíněné kompilaci zdrojového kódu.Definice symbolu zůstává v platnosti, dokud není v kódu předefinována nebo dokud není v kódu pomocí direktivy #undef zrušena její definice.

/D má stejný účinek jako direktiva #define na začátku souboru zdrojového kódu až na to, že /D odstraní uvozovky na příkazovém řádku a #define je ponechá.

K tomuto symbolu je standardně přidružena hodnota 1.Například /Dname je ekvivalentem /Dname**=1**.V příkladu na konci tohoto článku je znázorněna definice funkce TEST, která vytiskne 1.

Kompilace s použitím /Dname**=** způsobí, že tento symbol nebude mít přidruženu žádnou hodnotu.Ačkoli lze tento symbol stále použít k podmíněné kompilaci kódu, nijak se nevyhodnotí.Pokud v tomto příkladu budete kompilovat s použitím /DTEST=, dojde k chybě.Toto chování se podobá použití #define s hodnotou nebo bez hodnoty.

Tento příkaz definuje symbol DEBUG v souboru TEST.c:

CL /DDEBUG TEST.C

Tento příkaz odebere všechny výskyty klíčového slova __far v souboru TEST.c:

CL /D__far= TEST.C

Proměnnou prostředí CL nelze nastavit na řetězec, který obsahuje rovnítko.Chcete-li /D použít spolu s proměnnou prostředí CL, musíte místo rovnítka zadat znak čísla:

SET CL=/DTEST#0

Při definici symbolu předzpracování na příkazovém řádku pamatujte jak na pravidla analýzy kompilátoru, tak na pravidla analýzy prostředí.Chcete-li například v programu definovat jako symbol předzpracování znak procenta (%), zadejte na příkazovém řádku dva znaky procenta (%%); pokud zadáte pouze jeden, dojde k chybě analýzy.

CL /DTEST=%% TEST.C

Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno Stránky vlastností svého projektu.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. V levém podokně vyberte možnost Vlastnosti konfigurace, C/C++, Preprocesor.

  3. V pravém podokně otevřete v pravém sloupci vlastnosti Definice preprocesoru rozevírací nabídku a zvolte položku Upravit.

  4. V dialogovém okně Definice preprocesorupřidejte (jednu na každý řádek), změňte nebo odstraňte jednu nebo více definic.Kliknutím na tlačítko OK uložte změny.

Programové nastavení tohoto parametru kompilátoru

Příklad

// 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
}
  

Viz také

Referenční dokumentace

Možnosti kompilátoru

Nastavení možností kompilátoru

/U, /u (nedefinované symboly)

#undef – direktiva (C++)

#define – direktiva (C++)