我正在开发一个数据库项目,它将查询(用更高级别的语言表示)编译成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;
答案 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