/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
Otevřete dialogové okno Stránky vlastností svého projektu.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.
V levém podokně vyberte možnost Vlastnosti konfigurace, C/C++, Preprocesor.
V pravém podokně otevřete v pravém sloupci vlastnosti Definice preprocesoru rozevírací nabídku a zvolte položku Upravit.
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
- Další informace naleznete v tématu PreprocessorDefinitions.
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
}