Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Directivas
Las directivas de preprocesador #ifdef y #ifndef tienen el mismo efecto que la directiva #if cuando se usa con el operador defined.
Sintaxis
#ifdefidentifier
#ifndefidentifier
Estas directivas son equivalentes a:
#if definedidentifier
#if !definedidentifier
Comentarios
Puede usar las directivas #ifdef y #ifndef en cualquier lugar donde se pueda utilizar #if. La #ifdef identifier instrucción es equivalente a #if 1 cuando identifier se ha definido. Es equivalente a #if 0 cuando identifier no se ha definido o la directiva #undef no lo ha definido. Estas directivas solo comprueban la presencia o ausencia de identificadores definidos con #define, no comprueban los identificadores declarados en el código fuente de C o C++.
Estas directivas se proporcionan únicamente por compatibilidad con las versiones anteriores del lenguaje. Se prefiere la defined( identifier ) expresión constante que se usa con la #if directiva .
La directiva #ifndef comprueba lo contrario de la condición que comprueba #ifdef. Si el identificador no se ha definido o si su definición se ha quitado con #undef, la condición es true (distinto de cero). De lo contrario, la condición es false (0).
Específicos de Microsoft
El identificador se puede pasar desde la línea de comandos con la opción /D. Se pueden especificar hasta 30 macros con /D.
La directiva #ifdef es útil para comprobar si existe una definición, porque una definición se puede pasar desde la línea de comandos. Por ejemplo:
// ifdef_ifndef.CPP
// compile with: /Dtest /c
#ifndef test
#define final
#endif
FIN de Específicos de Microsoft