Sintaxis
#ifdef <identificador>
...
<instruções>
...
[ #else ]
...
<instruções>
...
[ #endif ]
Propósito
La directiva #ifdef compila una sección de código fuente solamente si se definió un determinado identificador.
Argumentos
<identificador>
Define el nombre del identificador que se pondrá a prueba para comprobar su existencia.
Utilización
La directiva #ifdef ... #endif permite realizar compilaciones condicionales. La compilación condicional permite que un determinado trecho del código fuente se compile o no, que depende de la existencia o no de un identificador. Un identificador puede ser definido por la directiva #define.
Si se especifica la cláusula #else y el identificador existe, se compilará el trecho de código entre el #ifdef y el #else. Si el identificador no existe, lo que se compilará es el trecho de código entre el #else y el #endif.
Si la cláusula #else no se especifica y el identificador existe, se compilará el trecho de código entre el #ifdef y el #endif. Si el identificador no existe, este trecho de código no se compilará.
Sugerencias
La compilación condicional es útil principalmente cuando es necesario hacer el mantenimiento de diferentes versiones del mismo programa. Para cada versión se compilará un determinado trecho de código diferente, de acuerdo con los identificadores que se especifiquen.