Make your own free website on Tripod.com
Capítulo 11. El Preprocesador. (2)

    #define MSG01 "SCI-I-START: Starting system kernel\n"
    #define MSG02 "SCI-I-STOP: Stopping system kernel\n"

    void print_msg ( void ) {
      if ( check_state() == START ) printf(MSG01);
      else printf(MSG02);
    }

El estado de una macro, si está definida o no, se puede comprobar mediante las directivas #ifdef y #ifndef. Estas dos directivas se deben completar con una #endif y, el texto comprendido entre ambas es procesado si la macro está definida. Todas las directivas deben ser completadas en el mismo fuente y pueden ser anidadas.

    #ifndef M_PI
    #define M_PI 3.1415927
    #endif