什么是预编译头文件?它们什么时候使用?
问问题
662 次
1 回答
7
预编译头文件是在编译过程中使用的一种优化。
基本上,如果你stdio.h
用完全相同的定义和环境编译类似的东西,你可以放心地假设每次结果都是一样的。
所以编译器会记住那个头文件的“编译”版本,所以它不必再做一次。
实际上,如果每个源文件都以:
#define XYZZY 42
#include <stdio.h>
#include <stdlib.h>
第一个编译完全,但记住紧随第三行之后的状态。下一个可以简单地完全丢弃这三行并加载保存的状态,然后继续编译文件的其余部分。
我第一次看到这个功能是在 Windows 上,它有大量的 windows.h
头文件,相信我,它对整体构建时间产生了很大的影响。
于 2011-02-10T06:52:57.943 回答