您的位置:首页 > 其它

预编译头文件:*.h.gch文件

2016-05-07 21:15 232 查看
预编译头文件,就是将头文件事先编译成一种二进制的中间文件。比如下面代码:

gcc -c a.h a.c


其中,由于 a.h 被当成 *.c 文件一样进行编译,生成了一种二进制中间格式的文件(a.h.gch)。

a.h 文件 和 a.c 文件分别被解析,合并,并通过编译生成了 a.o 文件。虽然 a.o 文件中包含了很少的头文件代码,头文件的大小并没有对 a.o 文件的规模产生很大影响,但是对头文件的解析话费的时间,却不容小觑。如果生成 *.gch 文件,再次包含该头文件时就不用再次解析。

该类文件的特性:

生成的是被解析完成的二进制中间件

编译
*.gch
文件时,所用到的
*.h
文件必须在当前目录下,因为编译头文件不会过环境变量或者
-l
进行路径搜索

*.gch
文件和所对应的
*.h
没有必要的联系,也就是说对 *.h 文件进行修改时
*.gch
文件不会自动修改,需要重新编译。因此通常情况下,不轻易改变的头文件才会编译成中间件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: