为什么我必须在Microsoft visual studio c ++应用程序中#include“stdafx.h”?

时间:2015-11-19 06:57:29

标签: c++ visual-studio include visual-studio-2015 stdafx.h

如果我使用普通的文本编辑器或Code :: Blocks,则不会出现此问题。 但是在visual studio中,我必须包含stdafx.h头文件才能编译程序而不会出错。我想知道这个头文件的使用及其在visual studio中的原因。 我正在使用visual studio enterprise(2015)。

1 个答案:

答案 0 :(得分:5)

StdAfx.h 是使用Visual Studio&#39创建标准项目时用于生成预编译标题的默认文件名(请参阅Creating Precompiled Header Files) ; s 新项目向导。预编译头可以通过转储已解析和预编译头的二进制表示来显着减少编译项目所需的时间。通常,预编译头中只应包含很少更改的标头(Windows SDK标头,C ++标准库标头,CRT标头等)。

通过/Y (Precompiled Headers)编译器开关控制预编译头的使用。如果您不想使用预编译的标头,请确保在项目设置中未设置/Yc (Create Precompiled Header File)/Yu (Use Precompiled Header File)

如果要使用预编译头,但不希望(或不能)将预编译头文件作为所有编译单元中的第一个包含,则可以使用/FI (Name Forced Include File)编译器开关。