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!
=== Conditional compilation === [[Conditional compilation]] is supported via the [[if-else]] core directives <code>#if</code>, <code>#else</code>, <code>#elif</code>, and <code>#endif</code> and with contraction directives <code>#ifdef</code> and <code>#ifndef</code> which stand for {{code|#if defined(...)}} and {{code|#if !defined(...)}}, respectively. In the following example code, the <code>printf()</code> call is only included for compilation if <code>VERBOSE</code> is defined. <syntaxhighlight lang="cpp"> #ifdef VERBOSE printf("trace message"); #endif </syntaxhighlight> The following demonstrates more complex logic: <syntaxhighlight lang="cpp"> #if !(defined __LP64__ || defined __LLP64__) || defined _WIN32 && !defined _WIN64 // code for a 32-bit system #else // code for a 64-bit system #endif </syntaxhighlight>
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)