10.3 Compilación condicional


Algunas órdenes del preprocesador permiten escribir código que sólo se compila si se dan ciertas condiciones. Se utiliza #ifdef y #endif

En este ejemplo,

#ifdef DEBUG
	printf ( "He pasado por esta línea\ncuenta=%d\n", 				cuenta );
#endif

sólo se compila la sentencia con printf si está definido el símbolo DEBUG.

Al inicio del programa, se puede definir el símbolo con

#define DEBUG

si se quiere compilar este fragmento de código.

También se pueden utilizar varias opciones de compilación:

#ifdef MSDOS
	... código para MSDOS ...
#else
#  ifdef UNIX
	... código para UNIX ...
#  else
	... código para otro sistema ...
#  endif
#endif

Existe también la orden #ifndef símbolo, que sólo compila si no está definido el símbolo.