我正在使用Visual C ++编写的大量源代码。目标是DLL库。连接时间消耗几分钟。如何减少这个时间?
库依赖于其他dll和lib,它们位于同一解决方案中。
可以做的第一件事就是将源分成几个项目,但这是一个耗时的方法而且非常昂贵。
可能存在一些可以在我的情况下使用的其他方法。
编辑:我使用增量链接,虽然这大大减少了时间,但这对我来说还不够。 对象文件的大小没有问题,因为最烦人的是这种代码库的开发。每一个小修改都需要等我联系。答案 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文件中,即使它们中没有真正使用过。 这些标题的一些例子是和