# Precompiled Header Support

There are some differences in how precompiled header (PCH) files are supported between the Intel® C++ Compiler Classic and the Microsoft* Visual C++* Compiler. These differences include the following:

- The PCH information generated by the Intel® C++ Compiler Classic is not compatible with the PCH information generated by the Microsoft Visual Studio Compiler.

- The Intel® C++ Compiler Classic does not support PCH generation and use in the same translation unit.

- The Intel® C++ Compiler does not generate PCH information beyond a point where a declaration is seen in the primary translation unit. When the /Yu option is specified, the Microsoft* Visual C++* compiler ignores all text, including declarations preceding the `#include` statement of the specified file.

- The Microsoft* Visual C++* Compiler will not emit an error if a function or variable definition occurs in a PCH file which is included in two different source files and is not referenced. The Intel® C++ Compiler will always give a multiple definition link error under these circumstances.

Parent topic: Microsoft* Compatibility