/D (Définitions de préprocesseur)
Mise à jour : novembre 2007
Définit un symbole de prétraitement pour votre fichier source.
/Dname[= | # [{string | number}] ]
Notes
Vous pouvez utiliser ce symbole avec #if ou #ifdef pour effectuer une compilation conditionnelle du code source. La définition de symbole reste en vigueur jusqu'à ce qu'une redéfinition soit rencontrée dans le code source ou que la définition du symbole soit annulée dans le code source avec la directive #undef.
/D produit un effet similaire à celui de la directive #define au début du fichier source. Cependant, /D supprime les guillemets sur la ligne de commande et #define les conserve.
Par défaut, la valeur associée à un symbole est 1. C'est-à-dire que /DTEST équivaut à /DTEST= 1. Dans l'exemple suivant, la définition de TEST affiche 1.
Lors d'une compilation avec /Dname=, aucune valeur n'est associée au symbole. Bien que le symbole puisse toujours être utilisé pour effectuer une compilation de code conditionnelle, il ne retourne rien. Par exemple, dans l'exemple de programme, une compilation avec /DTEST= provoque une erreur de compilateur. Ce comportement est similaire à l'utilisation de #define avec ou sans valeur.
La commande suivante définit le symbole DEBUG dans TEST.c :
CL /DDEBUG TEST.C
La commande suivante supprime toutes les occurrences du mot clé __far dans TEST.c :
CL /D__far= TEST.C
Vous ne pouvez pas définir la variable d'environnement CL en tant que chaîne contenant un signe égal. Pour utiliser l'option /D avec la variable d'environnement CL, vous devez spécifier un signe dièse à la place d'un signe égal :
SET CL=/DTEST#0
Pour définir cette option du compilateur dans l'environnement de développement Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.
Cliquez sur le dossier C/C++.
Cliquez sur la page de propriétés Préprocesseur.
Modifiez la propriété Définitions du préprocesseur.
Pour définir cette option du compilateur par programme
- Consultez PreprocessorDefinitions.
Exemple
// 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
}
TEST defined 1
Voir aussi
Référence
Définition des options du compilateur