[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 #ifdef
 Compile a section of code if an identifier is defined
------------------------------------------------------------------------------
 Syntax

     #ifdef <identifier>
        <statements>...
     [#else]
        <statements>...
     #endif

 Arguments

     <identifier> is the name of a definition whose existence is being
     verified.

 Description

     #ifdef...#endif lets you perform a conditional compilation.  It does
     this by identifying a section of source code to be compiled if the
     specified <identifier> is defined.  The <identifier> can be defined
     using either the #define directive or the /D compiler option which lets
     you define an identifier or manifest constant from the compiler command
     line.

     The #else directive specifies the code to compile if <identifier> is
     undefined.  The #endif terminates the conditional compilation block.

     Conditional compilation is particularly useful when maintaining many
     different versions of the same program.  For example, the demo code and
     full system code could be included in the same program file and
     controlled by a single #define statement.

 Examples

     .  This code fragment is a general skeleton for conditional
        compilation with #ifdef:

        #define DEMO
        .
        . <statements>
        .
        #ifdef DEMO
           <demo specific statements>
        #endif

     .  This example controls conditional compilation with an
        identifier defined on the compiler command line with the /D option.

        In DOS:

        C>CLIPPER Myfile /DDEBUG

        In the program (.prg) file:

        #ifdef DEBUG
           Assert(<some condition>)
        #endif

     .  This example defines a manifest constant to one value if it
        does not exist and redefines it to another if it exists:

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


See Also: #define #ifndef
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson