Whole document tree
    

Whole document tree

The C Preprocessor: Output
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 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, unless `-traditional' is used, spaces may be inserted into the expansions of macro calls to prevent tokens from being concatenated.

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.



This document was generated by root on January, 30 2002 using texi2html