gpt4 book ai didi

c++ - 我怎样才能让我的非常大的程序链接起来?

转载 作者:可可西里 更新时间:2023-11-01 16:29:27 24 4
gpt4 key购买 nike

我们的下一个产品已经变得太大,无法在运行 32 位 Windows 的机器上进行链接。所有 lib 文件的总和超过 2Gb,并且只能在 64 位 Windows 机器上链接。最终我们会超过这个界限,因为我们的软件倾向于增长而不是收缩,而且我们使用的是 32 位链接器 (MS Visual Studio 2005):当我们的库总大小超过 3Gb 时,我们预计会遇到麻烦。

如何在不修剪代码的情况下减小 .lib 文件或 .obj 文件的大小?例如,我们使用了很多模板:有什么方法可以减少它们的占用空间吗?有没有办法通过检查 .lib/.obj 文件找出导致膨胀的原因?这可以自动化而不是用眼睛检查吗? 2.5Gb 的文本量很大,需要查看和比较。

外部限制使我们无法以除单个 .exe 以外的任何形式发布,因此 DLL 解决方案不可用。

最佳答案

我曾经与多个 MLoC 合作过一个项目。虽然我们的仍然会在 32 位机器上链接,但链接时间很糟糕并成为一个主要问题,因为开发人员减少到每个工作日只能完成十几个编辑-编译-测试周期。 (通过分布式编译可以很好地处理编译时间。)

我们切换到动态链接。这增加了启动时间,但这可以通过延迟加载 DLL 来管理。

关于c++ - 我怎样才能让我的非常大的程序链接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3307880/

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