Conditional compilation enables you to control the execution of preprocessing directives and the compilation of program code. Each of the conditional preprocessing directives evaluates a constant integer expression that will determine whether the code will be compiled. Cast expressions,
sizeof expressions and enumeration constants cannot be evaluated in preprocessing directives because these are all determined by the compiler and preprocessing happens before compilation.
The conditional preprocessor construct is much like the
if selection structure. Consider the following preprocessor code:
#ifndef NULL #define NULL 0 #endif
which determines whether the symbolic constant
NULL is already defined. The expression ...