如何减少用本机Visual C ++编写的大型项目的链接时间?

时间:2008-11-30 16:12:25

标签: c++ visual-studio visual-c++

我正在使用Visual C ++编写的大量源代码。目标是DLL库。连接时间消耗几分钟。如何减少这个时间?

库依赖于其他dll和lib,它们位于同一解决方案中。

可以做的第一件事就是将源分成几个项目,但这是一个耗时的方法而且非常昂贵。

可能存在一些可以在我的情况下使用的其他方法。

编辑:我使用增量链接,虽然这大大减少了时间,但这对我来说还不够。 对象文件的大小没有问题,因为最烦人的是这种代码库的开发。每一个小修改都需要等我联系。

3 个答案:

答案 0 :(得分:3)

重构!!!将大型DLL拆分为更小的模块,使用接口层执行此操作,在将“巨大”DLL拆分为较小的DLL而不是获取前5个文件时创建体系结构等。仔细地映射DLL层次结构0级DLL是独立的,级别1个DLL可能依赖于1个或更多级别0等

这样做的努力将得到回报,想象一下只有10名开发人员每天只需要等待6分钟即可链接,10 * 6 == 1小时*每周5天,这意味着您每周失去超过半天的开发时间,这应该足以证明从功能开发中断,以使你的鸭子井井有条。

你也提到了库,如果你有源代码生成这些DLL,当你启用编辑和放大时,这将很快回报。继续。

答案 1 :(得分:1)

如果你没有使用增量链接,你应该研究一下。它基本上将最终对象大小与链接性能进行交易。

全局优化选项还将编译时(即代码生成)从编译阶段转移到链接阶段 - 您可能会发现丢失它们会更好,因此单个文件编译速度较慢但链接速度较快。

答案 2 :(得分:1)

您可以尝试减少包含依赖项。 有些标头会触发很多代码添加到.obj文件中,即使它们中没有真正使用过。 这些标题的一些例子是和