Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

/D (Definiciones de preprocesador)

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

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

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 panel izquierdo, haga clic en C/C++ y, a continuación, en Preprocesador.

  3. En el panel derecho, modifique la propiedad Definiciones del preprocesador.

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

// 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 definido 1
Mostrar: