Precompiler ifdef

From Bennu Wiki
Jump to navigation Jump to search


Definition

#ifdef <what to check>

<if block>

[#else

<else block>]

#endif

Checks if what to check was previously defined in the code. If it is, the code in if block will be compiled. If it isn't, the code in else block will be compiled or when there is no else block, the compiler will continue after #endif.

Example

Here we will be able to choose whether to support a certain function with the precompiler:

#ifdef SOMEFUNCTIONALITY
Function int SomeFunction()
Begin
    return 0;
End
#endif

Used in example: Function, Begin, End, #endif

Consider a define to set the framepercentage in a certain process. Now for some reason you might want to just have a frame; compiled when that define is set to 100.

Loop
    #ifdef FRAMEPERC
        #if FRAMEPERC == 100
            frame;
        #else
            frame(FRAMEPERC);
        #endif
    #else
        frame;
    #endif
End

Used in example: Loop, End, frame, #if, #else, #endif


Precompiler statements
#define#ifdef#ifndef#endif#else#if