11.2 The preprocessor
The first stage of the compilation process is the use of the
preprocessor to expand macros and included header files. To perform
this stage, GCC executes the following command:(35)
$ cpp hello.c > hello.i
The result is a file 'hello.i' which contains the source code with
all macros expanded. By convention, preprocessed files are given the
file extension '.i' for C programs and '.ii' for C++ programs.
In practice, the preprocessed file is not saved to disk unless the
-save-temps option is used.