Hon*_*nza 48 c c++ performance compilation compiler-optimization
GCC,MSVC,LLVM以及可能的其他工具链支持链接时(整个程序)优化,以允许编译单元之间的调用优化.
在编译生产软件时是否有理由不启用此选项?
Ali*_*Ali 27
我假设"生产软件"是指您发送给客户/投入生产的软件.为什么不总是使用编译器优化的答案?(Mankarse友好地指出)主要适用于您想要调试代码的情况(因此软件仍处于开发阶段 - 而不是生产中).
我能想到的唯一好的,有效的原因是链接时间优化可能会引入细微的错误,请参阅内核的链接时优化.假设您有适当的测试来检查您即将发布的软件的正确性,我认为没有理由不默认使用LTO.(随着时间的推移,LTO越来越成熟,所以我们希望这些微妙的错误会越来越少.)