使用预编译头减少clang编译时间
Decrease clang compile time with 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;
创建预编译的头,包括所有未更改为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
相关文章:
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- clang 插件:在编译过程中修改 AST
- 错误:使用 clang 没有可行的重载,使用 GCC 编译
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 通过自制软件(macOS)安装的clang++:编译错误
- 在使用 Clang 编译 DLL 时指定 DEF 文件
- 获取 clang++:错误:在编译文件系统库的代码时
- 如何在 clang 的自动会议中检查支持编译标志
- constexpr 使用 clang 编译 TensorFlow 时出错
- 编译包含指向模板函数的指针的初始值设定项列表时,gcc 出错,但 clang 不出错
- 如何更改 clang 的预编译头文件的路径
- 除了说明符神秘地破坏编译(Clang,GCC不同意)
- VS 代码显示编译 clang 的错误消息
- 同一段代码,可以用 xcode 或使用 g++ 编译,在终端中编译 clang++,不能使用 gcc 或 clang 编
- 简单的 constexpr 函数无法使用 GCC 编译(clang 没问题)
- 在 C++14 模式下为 libstdc++ 编译 clang 正则表达式程序会导致错误
- 如何在Windows上编译Clang
- 在Windows中编译Clang插件
- 是否可以在内存中使用Clang c++ API编译Clang源代码?