stdafx.h的目的

stdafx.h文件的目的是什么,以及预编译头文件的含义是什么?

stdafx.h是由Microsoft Visual Studio IDE向导生成的文件,它描述了经常使用但几乎不会更改的标准系统和项目特定包含文件 。 兼容的编译器(例如,Visual C ++ 6.0和更新版本)将预编译该文件以减less整体编译时间

除非编译选项/Yu'stdafx.h'选中(默认情况下),否则Visual C ++不会编译源文件中的#include "stdafx.h"之前的任何内容 。 它假设源代码中的所有代码都已经编译完成并且包含该行。

http://en.wikipedia.org/wiki/Precompiled_header

为了扩大其他优秀的答案:

stdafx.h是包含单个项目的所有常用标题的文件。 例如,这将包括所有的Windows定义。 因为这个文件包含了很多东西,编译器在处理它时会慢一点。 通过对其进行预编译,编译器可以跳过大部分的处理过程并重复使用它; 只要它所包含的文件都没有改变,预编译的结果也不需要改变。

名称stdafx.h只是一个约定。 如果您将所有源代码更改为包含新文件,则可以轻松地将其重命名为其他内容。

要生成实际的预编译头文件,需要在项目中有一个具有特殊编译标志的源文件来生成预编译输出。 按照惯例这个文件被命名为stdafx.cpp ,如果你检查该源文件的设置,你会看到它是如何不同。

它通常用于预编译头文件的名称。 尽pipe使用确切的名称不是必需的,只是默认的名称。 我在这里解释更多关于VC ++和g ++的预编译头文件 。

您可以使用预编译头文件来加快编译速度。

这个想法是,你把任何头文件不会改变,并且你在预编译头文件中的几个源文件中使用。 那么编译器将不需要为每个编译单元重新处理这些头文件。

这是一个预编译头 ,以减less编译时间。