使用预编译头减少clang编译时间

时间:2015-03-05 00:47:21

标签: c++ clang++ precompiled-headers

我正在开发一个数据库项目,它将查询(用更高级别的语言表示)编译成c ++代码。此代码由数据库编译和执行。那部分完美无缺。

现在,我正在尝试减少C ++查询代码的编译时间。我想知道我是否可以使用预编译头来获得性能。

查询被翻译成一个名为Query.cpp的文件,其中包含library / src / Database.hpp。 Database.hpp文件包含其他文件,如StandardTypes.hpp等。我可以预编译所有这些头文件,以加快Query.cpp的编译速度吗?如果是的话,我该怎么做?到目前为止,我找不到预编译头文件的任何好例子,只有一些非常基本的东西。

我使用以下命令编译Query.cpp:

clang++ -fPIC -std=c++11 Query.cpp -I./library/src/ -shared -o libquery.so;

1 个答案:

答案 0 :(得分:2)

创建预编译的标题包括您不能更改为Query.h的所有标题并使用:

clang -cc1 Query.h -emit-pch -o Query.h.pch

使用预编译的头类型:

clang -cc1 -include-pch Query.h.pch Query.cpp -shared -o libquery.so;

Query.cpp需要包含Query.h