Go forward to Invocation.
Go backward to Other Directives.
Go up to Top.
C Preprocessor Output
=====================
The output from the C preprocessor looks much like the input, except
that all preprocessing directive lines have been replaced with blank
lines and all comments with spaces. Whitespace within a line is not
altered; however, a space is inserted after the expansions of most
macro calls.
Source file name and line number information is conveyed by lines of
the form
# LINENUM FILENAME FLAGS
which are inserted as needed into the middle of the input (but never
within a string or character constant). Such a line means that the
following line originated in file FILENAME at line LINENUM.
After the file name comes zero or more flags, which are `1', `2',
`3', or `4'. If there are multiple flags, spaces separate them. Here
is what the flags mean:
`1'
This indicates the start of a new file.
`2'
This indicates returning to a file (after having included another
file).
`3'
This indicates that the following text comes from a system header
file, so certain warnings should be suppressed.
`4'
This indicates that the following text should be treated as C.