The preprocessor is executed at translation phase 4, before the compilation. The result of preprocessing is a single file which is then passed to the actual compiler.
[edit] DirectivesThe preprocessing directives control the behavior of the preprocessor. Each directive occupies one line and has the following format:
#
characterdefine
, undef
, include
, if
, ifdef
, ifndef
, else
, elif
, elifdef
, elifndef
(since C23), endif
, line
, embed
(since C23), error
, warning
(since C23), 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
, #elifdef
, #elifndef
(since C23) and #endif
).#define
and #undef
, and operators #
and ##
)#include
and checked with __has_include
(since C23))#error
or #warning
respectively(since C23))The following aspects of the preprocessor can be controlled:
#pragma
and operator _Pragma
(since C99))#line
)RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4