This documentation is archived and is not being maintained.

/Yc (Create Precompiled Header File)


This option instructs the compiler to create a precompiled header (.pch) file that represents the state of compilation at a certain point.

Command line Description
/Yc The compiler compiles all code up to the end of the base source file, or to the point in the base file where a #pragma hdrstop occurs.

The resulting .pch file has the same base name as your base source file unless you specify a different file name using the hdrstop pragma or the /Fp option.

/Ycfilename The compiler compiles all code up to and including the .h file specified in filename.

The precompiled code is saved in a file with a name created from the base name of the file specified with the /Yc option and a .pch extension. You can also use the /Fp option to specify a name for the precompiled header file.

If you use /Ycfilename (Through Header), the compiler compiles all code up to and including the specified file for subsequent use with the /Yu option.

Note   If the options /Ycfilename and /Yufilename occur on the same command line and both reference, or imply, the same file name, /Ycfilename takes precedence. This feature simplifies the writing of makefiles.

Use /YX to instruct the compiler to use a precompiled header file (PCH) if one exists or to create one if none exists.

For more information on precompiled headers, see:

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the C/C++ folder.
  3. Click the Precompiled Headers property page.
  4. Modify the Create/Use PCH Through File property or the Create/Use Precompiled Header property.

To set this compiler option programmatically

See PrecompiledHeaderThrough Property and UsePrecompiledHeader Property.


Consider the following code:

#include <afxwin.h>   // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h"    // Include information specific to this app

When this code is compiled with the command:


the compiler saves all the preprocessing for AFXWIN.h, RESOURCE.h, and MYAPP.h in a precompiled header file called MYAPP.pch.

See Also

Compiler Options | Setting Compiler Options