C++ 在新的c+;中自动创建的stdafx.cpp文件是什么+;visual studio 2012中的项目

C++ 在新的c+;中自动创建的stdafx.cpp文件是什么+;visual studio 2012中的项目,c++,visual-studio,C++,Visual Studio,据我所知,stdafx.h是一个预编译头文件,用于在VisualStudio中加快编译速度。在VisualStudio 2012中创建C++项目时,还存在一个STDAFX.CPP。有人能解释一下stdafx.h和stdafx.cpp之间的关系吗?预编译的头文件可以大大加快项目中.cpp文件的编译速度。按照惯例,stdafx.h包含所有要预编译的.h文件。您可以为它命名任何您想要的名称,但是项目模板只选择stdafx.h 但在这之前,必须有一个.cpp文件包含stdafx.h并首先编译。在项目中的

据我所知,stdafx.h是一个预编译头文件,用于在VisualStudio中加快编译速度。在VisualStudio 2012中创建C++项目时,还存在一个STDAFX.CPP。有人能解释一下stdafx.h和stdafx.cpp之间的关系吗?

预编译的头文件可以大大加快项目中.cpp文件的编译速度。按照惯例,stdafx.h包含所有要预编译的.h文件。您可以为它命名任何您想要的名称,但是项目模板只选择stdafx.h

但在这之前,必须有一个.cpp文件包含stdafx.h并首先编译。在项目中的所有其他.cpp文件之前。完成后,编译器可以使用创建的.pch文件并快速编译所有其他.cpp文件,不再需要实际包含标题

Stdafx.cpp就是那个.cpp文件。它有一个不同于所有其他.cpp文件的设置,它是构建的。“创建预编译头文件”选项



更新:28年后,微软在VS2019打破了他们的“曾经有一个std框架,但从来没有人看到过”的做法。现在命名为“pch”而不是“stdafx”,当然是为了更明显的首字母缩略词。只是换了个名字,机制还是一样。

你刚才回答了自己的问题。stdafx.cpp的功能是什么?你不能编译.h文件,你需要.cpp文件来编译它。所以它是预编译文件
stdafx.cpp
包含所有要预编译的头文件并对其进行编译。你可以读更多