在 cpp 文件中使用 #include "Stdafx.h"

Using #include "Stdafx.h" in cpp files

本文关键字:#include Stdafx cpp 文件      更新时间:2023-10-16

我一直认为我必须在项目的每个头文件的顶部包括#include "Stdafx.h"行,就像在描述中所说的那样。我在向导的帮助下创建了一个简单的基于MFC对话框的应用程序,发现头文件不包含#include "Stdafx.h"行,但cpp有。那么,什么时候我必须在cpp中使用#include "Stdafx.h",什么时候在h中使用呢?

简短的回答:在一个.h: never;在.cpp中,当且仅当它配置了预编译的头文件(它们是默认的)。

基本原理是#include "stdafx.h"用于包含预编译的头文件(在编译stdafx.cpp时构建)。为了使它们有效,它们必须位于编译单元的第一行(不包括空白或注释)。而且第一行不能在头文件中,因为包含它的#include首先出现!

我建议只在cpp文件中使用#include "stdafx.h",因为您可能想要编译一个带有'预编译头文件的cpp ',而另一个不带有'预编译头文件的cpp '。

同样,当你使用DevStudio的向导创建项目时,这些stdafx.h包含将位于cpp文件中。