gpt4 book ai didi

c++ - 如何加快 g++ 编译时间(使用大量模板时)

转载 作者:IT老高 更新时间:2023-10-28 13:20:54 26 4
gpt4 key购买 nike

这个问题可能有点奇怪,但是我怎样才能加快 g++ 的编译时间呢?我的 C++ 代码大量使用 boost 和模板。我已经尽可能多地从头文件中移出并使用了 -j 选项,但编译(和链接)仍然需要相当长的时间。

是否有任何工具可以分析我的代码并指出编译器的瓶颈?或者可以以某种方式分析在我的代码上运行的编译器吗?这真是太好了,因为有时我的印象是,我花了太多时间盯着编译器控制台日志...

最佳答案

什么对我最有用:

  • 在 RAM 文件系统上构建。这在 Linux 上是微不足道的。您可能还希望在 RAM 文件系统上保留一份通用头文件(预编译或实际的 .h 文件)的拷贝。
  • Precompiled headers .我每个(主要)库(例如 Boost、Qt、stdlib)都有一个。
  • 尽可能声明而不是包含类。这减少了依赖关系,从而减少了更改头文件时需要重新编译的文件数量。
  • Parallelize make .这通常会根据具体情况有所帮助,但我有 -j3 全局用于制作。不过,请确保您的 Makefile 中的依赖关系图是正确的,否则您可能会遇到问题。
  • 如果您不测试执行速度或代码大小(并且您的计算机足够快,您不必太在意(可能很小)性能损失),请使用 -O0
  • 每次保存时编译。有些人不喜欢这样,但它可以让您及早发现错误,并且可以在后台完成,从而减少您完成编写并准备测试时的等待时间。

关于c++ - 如何加快 g++ 编译时间(使用大量模板时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3396958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com