/D (Definiciones de preprocesador)

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 es 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 evalúa como ningún valor. Por ejemplo, en el programa de ejemplo, la compilación con /DTEST= produce 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

Al definir un símbolo de preprocesamiento en el símbolo del sistema, considere las reglas de análisis del shell y las del compilador. Por ejemplo, para definir un símbolo de preprocesamiento de signo de porcentaje (%) en el programa, se han de especificar dos caracteres de signo (%%) en la línea de comandos. Si solo se especifica un signo de porcentaje, se emite un error de análisis.

CL /DTEST=%% TEST.C

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 más información, vea Cómo: Abrir páginas de propiedades del proyecto.

  2. En el recuadro izquierdo, haga clic en C/C++ y, a continuación, en Preprocesador.

  3. En el recuadro derecho, 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
}
  

Vea también

Referencia

Opciones del compilador

Establecer las opciones del compilador

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

#undef Directive (C/C++)

#define Directive (C/C++)

Historial de cambios

Fecha

Historial

Motivo

Julio de 2010

Se agregó que se deben especificar dos símbolos "%%" para definir un símbolo "%" del preprocesamiento.

Corrección de errores de contenido.