7

什么是预编译头文件?它们什么时候使用?

4

1 回答 1

7

预编译头文件是在编译过程中使用的一种优化。

基本上,如果你stdio.h用完全相同的定义和环境编译类似的东西,你可以放心地假设每次结果都是一样的。

所以编译器会记住那个头文件的“编译”版本,所以它不必再做一次。

实际上,如果每个源文件都以:

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

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

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

于 2011-02-10T06:52:57.943 回答