预编译的头文件

时间:2011-02-10 06:45:30

标签: precompiled-headers

预编译头文件究竟是什么?什么时候使用?

1 个答案:

答案 0 :(得分:7)

预编译头是编译过程中使用的优化。

基本上,如果使用完全相同的定义和环境编译类似stdio.h的内容,则可以安全地假设每次结果都相同。

因此编译器会记住该标头的“已编译”版本,因此不必再次执行此操作。

实际上,如果您的每个源文件都以以下内容开头,它往往是最初的标题组,因此会产生差异:

#define XYZZY 42
#include <stdio.h>
#include <stdlib.h>

第一个完全编译但会记住紧接第三行之后的状态。下一个可以完全抛弃这三行并加载保存的状态,然后继续编译文件的其余部分。

我第一次看到此功能是在Windows上使用大量 windows.h头文件,相信我,它对整体构建时间产生了很大的影响。

相关问题