Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C preprocessor
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== C/C++ === The following tokens are recognised by the preprocessor in the context of preprocessor directives. {{div col|colwidth=15em}} * <code>#if</code> * <code>#elif</code> * <code>#else</code> * <code>#endif</code> * <code>#ifdef</code> * <code>#ifndef</code> * <code>#elifdef</code> * <code>#elifndef</code> * <code>#define</code> * <code>#undef</code> * <code>#include</code> * <code>#embed</code> * <code>#line</code> * <code>#error</code> * <code>#warning</code> * <code>#pragma</code> * <code>defined</code> (follows a conditional directive; not actually a directive, but rather an operator) * <code>#__has_include</code> * <code>#__has_cpp_attribute</code> (C++ only) * <code>#__has_embed</code> {{div col end}} Until [[C++26]], the C++ keywords <code>import</code>, <code>export</code>, and <code>module</code> were partially handled by the preprocessor as well. Haskell also accepts C preprocessor directives.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)