#ifdef
 Compila una sección de código si se ha definido un identificador.
------------------------------------------------------------------------------
 Sintaxis

     #ifdef <identificador>
        <sentencias>...
     [#else]
        <sentencias>...
     #endif

 Argumentos

     <identificador> es el nombre de una definición cuya existencia se
     va a comprobar.

 Descripción

     #ifdef...#endif permite realizar una compilación condicional. Para
     ello, identifica una sección del código fuente que se compila si se
     define el <identificador> especificado. El <identificador> puede
     definirse utilizando la directiva #define o la opción /D del
     compilador, que permite definir un identificador o constante declarada
     en la línea de mandatos del compilador.

     La directiva #else especifica el código que se compila si no se ha
     definido el <identificador>. La directiva #endif termina el bloque de
     compilación condicional.

     La compilación condicional es de gran utilidad cuando existen muchas
     versiones diferentes de un mismo programa. Por ejemplo, el código de
     demostración y el código completo del sistema podrían incluirse en un
     mismo fichero de programa y controlarse mediante una sola sentencia
     #define.

 Ejemplos

      Este fragmento de código es un esqueleto general de
        compilación con #ifdef.

        #define DEMO
        .
        . <sentencias>
        .
        #ifdef DEMO
           <sentencias específicas de demostración>
        #endif

      Este ejemplo controla la compilación condicional con un
        identificador definido en la línea de mandatos con la opción /D:

        En el DOS:

        C>CLIPPER MiFich /DDEPURADO

        En el módulo fuente (.prg):

        #ifdef DEPURADO
           Confirmar(<cierta condición>)
        #endif

      Este ejemplo define una constante declarada con un cierto
        valor si no existe y la redefine a otro valor si el primer valor existe:

        #ifdef MARGEN_M
           #undef MARGEN_M
           #define MARGEN_M   15
        #else
           #define MARGEN_M   10
        #endif

 To download this example - click here.

See Also: #define #ifndef