gpt4 book ai didi

c++ - 是否有理由不使用链接时间优化 (LTO)?

转载 作者:IT老高 更新时间:2023-10-28 14:00:04 26 4
gpt4 key购买 nike

GCC、MSVC、LLVM 和可能的其他工具链支持链接时间(整个程序)优化,以允许优化编译单元之间的调用。

编译生产软件时是否有理由不启用此选项?

最佳答案

我假设 “生产软件” 是指您交付给客户/投入生产的软件。答案在 Why not always use compiler optimization? (Mankarse 善意指出)主要适用于您想要调试代码的情况(因此该软件仍处于开发阶段 - 未投入生产)。

我写这个答案已经过去了 6 年,需要更新。早在 2014 年,问题是:

  • 链接时间优化偶尔会引入微妙的错误,例如见 Link-time optimization for the kernel .我认为到 2020 年这不是什么大问题。防范此类编译器和链接器错误:进行适当的测试以检查您即将发布的软件的正确性。
  • Increased compile time 。有人声称自 2014 年以来情况已显着改善,例如,感谢 slim objects .
  • 大量内存使用This post声称由于分区,近年来情况已大大改善。

从 2020 年开始,我将尝试在我的任何项目中默认使用 LTO。

关于c++ - 是否有理由不使用链接时间优化 (LTO)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23736507/

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