哪些标志可以提高 gcc/clang 编译时间?

问题描述 投票:0回答:5

gcc 或 clang 的哪些标志可以缩短编译时间?我需要启用调试,但任何其他功能都可以自由禁用,如果它们会导致更快的编译。

我知道还有很多其他方法可以提高编译时间,但我只对这个领域感兴趣。

c++ gcc clang
5个回答
6
投票

编译时间的最大增益是通过消除编译器所做的大部分工作(通常是优化)来实现。因此,不要启用优化 (

-O
) 标志。


3
投票

尝试 -O1,尽管它与 -O0 相比违反直觉,但它可以加快编译速度。另请查看ccache


3
投票

您还可以尝试使用预编译头。


2
投票

对于 GCC,您可以尝试多线程编译(-jX 标志,其中 X 是您拥有的核心数+1,根据 Qt 中心的减少编译时间文章)。

更新:看来我犯了一个错误:-jX 是一个“make”标志,而不是 GCC。因此,如果您使用基于 make 的构建系统,它将缩短链接时间。


-3
投票

如果我们从“不使用标志进行编译”的基线开始,则没有可以设置的标志来增加编译时间。

© www.soinside.com 2019 - 2024. All rights reserved.