/D (definizioni preprocessore)
Definisce un simbolo di pre-elaborazione per un file di origine.
/Dname[= | # [{string | number}] ]
Note
È possibile utilizzare questo simbolo con #if o #ifdef per compilare il file di origine in base a determinate condizioni. La definizione del simbolo rimane valida fino a quando nell'origine non viene riscontrata una ridefinizione o la definizione del simbolo non viene rimossa dall'origine utilizzando la direttiva #undef.
/D produce lo stesso effetto che si ottiene utilizzando la direttiva #define all'inizio del file di origine, con la differenza che /D rimuove le virgolette nella riga di comando, mentre #define le mantiene.
Per impostazione predefinita, il valore associato a un simbolo è 1. Ovvero /DTEST equivale a /DTEST=1. Nell'esempio riportato di seguito viene illustrato come la definizione di TEST imposti la stampa di 1.
La compilazione tramite /Dname= impedisce al simbolo di avere un valore associato. Sebbene possa comunque essere utilizzato per la compilazione di codice in base a determinate condizioni, in caso contrario il simbolo non equivarrà a nessun valore. Ad esempio, nel programma di esempio la compilazione mediante /DTEST= causa un errore di compilazione. Questo comportamento è analogo all'utilizzo di #define con o senza un valore.
Il comando che segue definisce il simbolo DEBUG in TEST.c.
CL /DDEBUG TEST.C
Il comando riportato di seguito rimuove tutte le occorrenze della parola chiave __far in TEST.c.
CL /D__far= TEST.C
Non è possibile impostare la variabile di ambiente CL in una stringa che contiene un segno di uguale. Per utilizzare /D con la variabile di ambiente CL, è necessario specificare un segno numerico anziché un segno di uguale.
SET CL=/DTEST#0
Quando si definisce un simbolo di pre-elaborazione al prompt dei comandi, considerare le regole di analisi della shell e le regole di analisi del compilatore. Ad esempio, per definire un simbolo di pre-elaborazione con il segno di percentuale (%) nel programma, specificare due percentuali (%%) nella riga di comando. Se si specifica solo una percentuale, viene generato un errore di analisi.
CL /DTEST=%% TEST.C
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per ulteriori informazioni, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Nel riquadro sinistro fare clic su C/C++, quindi fare clic su Preprocessore.
Nel riquadro destro, modificare la proprietà Definizioni preprocessore.
Per impostare l'opzione del compilatore a livello di codice
- Vedere PreprocessorDefinitions.
Esempio
// 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
}
Vedere anche
Riferimenti
Impostazione delle opzioni del compilatore
/U, /u (Annulla la definizione dei simboli)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Luglio 2010 |
È stata aggiunta la necessità di specificare due simboli "%%" per definire un simbolo di pre-elaborazione "%". |
Correzione di bug nel contenuto. |