Yc

Tells the compiler to create a precompiled header file.

Syntax

Linux:

None

Windows:

/Yc[filename]

Arguments

filename

Is the name of a C/C++ header file, which is included in the source file using an #include preprocessor directive.

Default

OFF

The compiler does not create or use precompiled headers unless you tell it to do so.

Description

This option tells the compiler to create a precompiled header (PCH) file. It is supported only for single source file compilations.

When filename is specified, the compiler creates a precompiled header file from the headers in the C/C++ program up to and including the C/C++ header specified.

If you do not specify filename, the compiler compiles all code up to the end of the source file, or to the point in the source file where a hdrstop occurs. The default name for the resulting file is the name of the source file with extension .pch.

This option cannot be used in the same compilation as the /Yu option.

IDE Equivalent

Visual Studio: Precompiled Headers > Precompiled Header File

Eclipse: None

Alternate Options

None

Example

If option /Fp is used, it names the PCH file. For example, consider the following command lines:

! specific to C++ 
icx /c /Ycheader.h /Fpprecomp foo.cpp
icx /c /Yc /Fpprecomp foo.cpp
! specific to DPC++ 
dpcpp-cl /c /Ycheader.h /Fpprecomp foo.cpp
dpcpp-cl /c /Yc /Fpprecomp foo.cpp

In both cases, the name of the PCH file is "precomp.pch".

If the header file name is specified, the file name is based on the header file name. For example:

icx /c /Ycheader.h foo.cpp   ! specific to C++ 
dpcpp-cl /c /Ycheader.h foo.cpp   ! specific to DPC++ 

In this case, the name of the PCH file is "header.pch".

If no header file name is specified, the file name is based on the source file name. For example:

icx /c /Yc foo.cpp   ! specific to C++ 
dpcpp-cl /c /Yc foo.cpp   ! specific to DPC++ 

In this case, the name of the PCH file is "foo.pch".

See Also