====== #ifdef name ... #endif ====== You can use ''#ifdef'' to check if a constant was previously defined with a ''#define'' directive or ''CONST'' statment. If the constant has been previously defined, the statements inside the ''#if...#endif'' block will be compiled, otherwise they will be discarded. #define LOWMODEL 0 #ifdef LOWMODEL Low 0 #endif In the above example, since ''LOWMODEL'' is defined, the statement ''LOW 0'' is compiled. ''#else #elseifdef'' may be used for more complex expressions as shown below: #ifdef LOWMODEL Low 0 #elseifdef HIGHMODEL High 0 #else Low 1 #endif ====== #ifndef name .. #endif ====== ''#ifndef'' is the opposite of the ''#ifdef'' directive. If a constant has not been defined, the statements inside a ''#ifndef...#endif'' block will be compiled, otherwise the statements will be discarded. #define LOWMODEL 0 #ifndef LOWMODEL Low 0 #endif ''#elseifndef'' and ''#else''may be used for more complex expressions as shown below: #ifndef LOWMODEL Low 0 #elseifndef HIGHMODEL High 0 #else Low 1 #endif Finally, the directives may be mixed as shown below: #if MODELNO = 0 Low 0 #elseifdef HIGHMODEL High 0 #else Low 1 #endif Nested ''#ifdef''/''#ifndef'' directives are not supported; ''#ifdef''/''#ifndef'' may not be used inside another ''#ifdef''/''#ifndef''. See also [[:cubloc::if...endif:|#if...#endif]]. [[cubloc:index#system_library:|Go CUBLOC home]]