/P
This option preprocesses C and C++ source files and writes the preprocessed output to a file. The file has the same base name as the source file and a .I extension. In the process, all preprocessor directives are carried out, macro expansions are performed, and comments are removed. To preserve comments in the preprocessed output, use the /C option along with /P.
/P adds #line directives to the output, at the beginning and end of each included file and around lines removed by preprocessor directives for conditional compilation. These directives renumber the lines of the preprocessed file. As a result, errors generated during later stages of processing refer to the line numbers of the original source file rather than lines in the preprocessed file. To suppress the generation of #line directives, use /EP as well as /E.
The /P option suppresses compilation. It does not produce an .obj file, even if you use /Fo. You must resubmit the preprocessed file for compilation. /P also suppresses the output files from the /FA, /Fa, and /Fm options.
To send the preprocessed output, with #line directives, to the standard output device of to a file, use the /E option instead of /P.
To send the preprocessed output, without #line directives, to the standard output device, use the /EP without /P.
The following command line preprocesses ADD.C
, preserves comments, adds #line directives, and writes the result to a file, ADD.I
:
CL /P /C ADD.C
Compiler Options | Setting Compiler Options