/D (Définitions de préprocesseur)

Définit un symbole de prétraitement pour un 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.Autrement dit, /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 ressemble à 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

Lorsque vous définissez un symbole de prétraitement à l'invite de commandes, utilisez les règles d'analyse de shell ainsi que les règles d'analyse de compilateur.Par exemple, pour définir un symbole de prétraitement de signe de pourcentage (%) dans votre programme, spécifiez deux caractères de signe de pourcentage (%%) sur la ligne de commande.Si vous spécifiez un seul signe de pourcentage, une erreur d'analyse est émise.

CL /DTEST=%% TEST.C

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriétés du projet.Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.

  2. Dans le volet gauche, cliquez sur C/C++, puis cliquez sur Préprocesseur.

  3. Dans le volet droit, modifiez la propriété Définitions du préprocesseur.

Pour définir cette option du compilateur par programmation

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
}
  

Voir aussi

Référence

Options du compilateur

Définition des options du compilateur

/U, /u (Annuler la définition de symboles)

#undef De directive (C/C++)

Directive #define (C/C++)