The conditional preprocessing block starts with #if, #ifdef or #ifndef directive, then optionally includes any number of #elif directives, then optionally includes at most one #else directive and is terminated with #endif directive. Any inner conditional preprocessing blocks are processed separately.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

#if, #ifdef and #ifndef directives test the specified condition (see below) and if it evaluates to true, compiles the controlled code block. In that case subsequent #else and #elif directives are ignored. Otherwise, if the specified condition evaluates false, the controlled code block is skipped and the subsequent #else or #elif directive (if any) is processed. In the former case, the code block controlled by the #else directive is unconditionally compiled. In the latter case, the #elif directive acts as if it was #if directive: checks for condition, compiles or skips the controlled code block based on the result, and in the latter case processes subsequent #elif and #else directives. The conditional preprocessing block is terminated by #endif directive.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

The expression is a constant expression, using only Literale and identifiers, defined using #define directive. Any identifier, which is not literal, non defined using #define directive, evaluates to 0.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

The expression may contain unary operators in form definedidentifier or defined (identifier) which return 1 if the identifier was defined using #define directive and 0 otherwise. If the expression evaluates to nonzero value, the controlled code block is included and skipped otherwise. If any used identifier is not a constant, it is replaced with ​0​.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.