该文件的目的是什么以及预编译头stdafx.h
文件的含义是什么?
4 回答
stdafx.h
是一个由 Microsoft Visual Studio IDE 向导生成的文件,它描述了标准系统和项目特定的包含文件,这些文件经常使用但几乎不会更改。兼容的编译器(例如,Visual C++ 6.0 和更高版本)将 预编译此文件以减少总体编译时间。Visual C++ 不会编译
#include "stdafx.h"
源文件中的任何内容,除非/Yu'stdafx.h'
未选中编译选项(默认情况下);它假定源代码中直到并包括该行的所有代码都已编译。
要扩展其他出色的答案:
stdafx.h
是包含单个项目的所有常用标头的文件。例如,这将包括所有 Windows 定义。因为这个文件包含很多东西,所以编译器在处理它时会有点慢。通过预编译,编译器可以跳过大部分处理并一遍又一遍地重用它;只要它包含的所有文件都没有改变,预编译结果也不需要改变。
这个名字stdafx.h
只是一个约定。如果您更改所有源以包含新文件,则可以轻松地将其重命名为其他名称。
要生成实际的预编译头文件,您需要项目中的一个具有特殊编译标志的源文件来生成预编译输出。按照惯例,这个文件被命名为stdafx.cpp
,如果你检查那个源文件的设置,你会发现它有什么不同。
它通常用于预编译头文件的名称。尽管不需要使用该确切名称,但只需使用默认名称即可。 我在这里解释了更多关于 VC++ 和 g++ 上的预编译头文件。
您使用预编译的头文件来加快编译速度。
这个想法是您放置任何不会更改的头文件,并且您在预编译头中的几个源文件中使用。然后编译器将不需要为每个编译单元重新处理这些头文件。
它是一个预编译的头文件,以减少编译时间。