The preprocessor is executed at translation phase 4, before the compilation. The result of preprocessing is single file which is then passed to the actual compiler.
The preprocessing directives control the behavior of the preprocessor. Each directive occupies one line and has the following format:
#
character define
, undef
, include
, if
, ifdef
, ifndef
, else
, elif
, endif
, line
, error
, pragma
) [1] The null directive (#
followed by a line break) is allowed and has no effect.
The preprocessor has the source file translation capabilities:
#if
, #ifdef
, #ifndef
, #else
, #elif
and #endif
). #define
and #undef
, and operators #
and ##
) #include
) #error
) The following aspects of the preprocessor can be controlled:
#pragma
and operator _Pragma
(since C99)) #line
) #warning
which emits a user-defined message during compilation. C++ documentation for Preprocessor |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/preprocessor