包含指令的预编译头文件
Posted
技术标签:
【中文标题】包含指令的预编译头文件【英文标题】:Precompiled header via unclude directive 【发布时间】:2014-01-02 02:45:52 【问题描述】:我有两个标题 world.h
worldw.h
。
世界.h
void h_world();
worldw.h
void g_world();
用gcc world.h
和gcc worldw.h
预编译后,我有world.h.gch
和worldw.h.gch
。此外,我将此预编译的标头添加到 main.c
:
#include "world.h.gch"
#include "worldw.h.gch"
....
但是当我编译这个时,我有超过一千个错误。我希望它没问题,因为预编译的头文件只是减少了编译时间。
【问题讨论】:
Precompiled headers with GCC的可能重复 【参考方案1】:而不是
#include "world.h.gch"
#include "worldw.h.gch"
你需要
#include "allworld.h"
然后放在 allworld.h 中
#include "world.h"
#include "worldw.h"
然后预编译allworld.h ...如果.h.gch文件存在,编译器将使用它;如果没有,它将使用 .h 文件。您可以通过使用 -H 标志编译源代码来查看正在使用的内容。
使用预编译头文件有很多限制;见http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
【讨论】:
以上是关于包含指令的预编译头文件的主要内容,如果未能解决你的问题,请参考以下文章