# P

Tells the compiler to stop the compilation process and write the results to a file.

## Syntax

Linux: | -P

macOS: | -P

Windows: | /P

## Arguments

None

## Default

OFF | Normal compilation is performed.

## Description

This option tells the compiler to stop the compilation process after C or C++ source files have been preprocessed and write the results to files named according to the compiler's default file-naming conventions.

On Linux systems, this option causes the preprocessor to expand your source module and direct the output to a .i file instead of stdout. Unlike the -E option, the output from -P on Linux does not include #line number directives. By default, the preprocessor creates the name of the output file using the prefix of the source file name with a .i extension. You can change this by using the -o option.

## IDE Equivalent

Visual Studio: Preprocessor > Generate Preprocessed File

Eclipse: None

Xcode: None

## Alternate Options

Linux and macOS*: -F

Windows: None

Parent topic: Preprocessor Options