Compartir a través de


/D (Definiciones de preprocesador)

Actualización: noviembre 2007

Define un símbolo del preprocesamiento para un archivo de código fuente.

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

Comentarios

Este símbolo se puede utilizar con #if o #ifdef para compilar condicionalmente archivos de código fuente. La definición del símbolo tiene efecto hasta que aparezca otra definición del mismo en el código fuente o se elimine la definición mediante la directiva #undef.

La opción /D produce el mismo efecto que utilizar la directiva #define al principio del archivo de código fuente. No obstante, /D quita las comillas de la línea de comandos, mientras que #define las conserva.

De forma predeterminada, el valor asociado a un símbolo será 1. Es decir, /DTEST es equivalente a /DTEST=1. En el siguiente ejemplo, se muestra la definición de TEST para imprimir 1.

Compilar con /Dname= hace que el símbolo no tenga un valor asociado. Aunque el símbolo aún se pueda utilizar para compilar código condicionalmente, no se evaluará como ningún valor. Por ejemplo, en el programa de ejemplo, la compilación con /DTEST= producirá un error del compilador. Este comportamiento es similar al uso de #define con o sin un valor.

El comando siguiente define el símbolo DEBUG en TEST.c:

CL /DDEBUG  TEST.C

El comando siguiente quita todas las apariciones de la palabra clave __far en TEST.c:

CL /D__far=  TEST.C

No puede definir la variable de entorno CL como una cadena que contiene un signo igual. Para usar /D con la variable de entorno CL, especifique un signo de almohadilla en lugar de un signo igual:

SET CL=/DTEST#0

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.

  2. Haga clic en la carpeta C/C++.

  3. Haga clic en la página de propiedades Preprocesador.

  4. Modifique la propiedad Definiciones del preprocesador.

Para establecer esta opción del compilador mediante programación

Ejemplo

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

Vea también

Referencia

Opciones del compilador

Establecer las opciones del compilador

/U, /u (Anular la definición de símbolos)

The #undef Directive

The #define Directive