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!
== Phases == Preprocessing is defined by the first four (of eight) ''phases of translation'' specified in the C Standard. # Trigraph replacement: The preprocessor replaces [[C trigraph|trigraph sequences]] with the characters they represent. This phase was removed in [[C23 (C standard revision)|C23]] following the steps of [[C++17]]. # Line splicing: Physical source lines that are continued with [[escape character|escaped]] [[newline]] sequences are ''spliced'' to form logical lines. # Tokenization: The preprocessor breaks the result into ''preprocessing tokens'' and [[Whitespace character|whitespace]]. It replaces comments with whitespace. # Macro expansion and directive handling: Preprocessing directive lines, including file inclusion and conditional compilation, are executed. The preprocessor simultaneously expands macros and, since the 1999 version of the C standard, handles <code>_Pragma</code> operators.
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)