代码之家  ›  专栏  ›  技术社区  ›  sergtk

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

  •  2
  • sergtk  · 技术社区  · 16 年前

    我正在用VisualC++编写大量的源代码。目标是dll库。连接时间需要几分钟。如何减少这一时间?

    库依赖于同一解决方案中的其他dll和lib。

    首先可以做的是将源代码分成几个项目,但这是一种耗时且非常昂贵的方法。

    可能还有其他方法可以在我的情况下使用。

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

    3 回复  |  直到 16 年前
        1
  •  3
  •   titanae    16 年前

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

    这样做的努力会有回报的,想象一下只有10个开发人员一天只等待6分钟链接,10*6==1小时*5天一周,这意味着你一周要损失超过半天的开发时间,这应该足以证明从特性开发中解脱出来,让您的鸭子恢复正常。

    您还提到了库,如果您有源代码,使这些dll也,这将很快回报时,您启用编辑和继续。

        2
  •  1
  •   Will Dean    16 年前

    如果不使用增量链接,则应该对此进行研究。它基本上是用最终的对象大小来衡量链接性能。

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

        3
  •  1
  •   eli    16 年前

    您可以尝试减少include依赖项。 有些头会触发大量代码添加到.obj文件中,即使其中没有真正使用。 此类标题的一些示例是和