gpt4 book ai didi

c++ - 链接时间代码生成的优缺点是什么? (对比 2005 年)

转载 作者:IT老高 更新时间:2023-10-28 22:02:35 32 4
gpt4 key购买 nike

我听说启用链接时间代码生成(/LTCG 开关)对于具有大量要链接在一起的库的大型项目来说是一项重大优化。我的团队在我们解决方案的发布配置中使用它,但是长编译时间是一个真正的拖累。对没有其他文件依赖的一个文件的一次更改会触发另外 45 秒的“正在生成代码...”。 Release 肯定比 Debug 快得多,但我们可以通过禁用 LTCG 并只保留/O2 来实现相同的加速。

启用/LTCG 是否值得?

最佳答案

很难说,因为这主要取决于你的项目——当然还有 VS2005 提供的 LTCG 的质量(我没有足够的经验来判断)。最后,你必须衡量。

但是,我想知道为什么您对发布构建的额外持续时间有这么多问题。您应该只分发具有可重现或存档源的可重现、稳定、版本化的二进制文件。我很少看到频繁的增量发布构建的原因。

建议的团队设置如下:开发人员通常只在他们的机器上创建增量调试版本。构建版本应该是从源代码控制到可再发行(二进制文件甚至设置)的完整构建,具有新的版本号并标记/归档源。只有这些应该提供给内部测试人员/客户。

理想情况下,您会将完整的构建移至单独的计算机,或者可能是一台好 PC 上的虚拟机。这为您的构建提供了一个稳定的环境(包括第 3 方库、环境变量等)。

理想情况下,这些构建应该是自动化的(“一键从源代码管理到设置”),并且应该每天运行。

关于c++ - 链接时间代码生成的优缺点是什么? (对比 2005 年),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/288691/

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