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

如何加快构建时间?(C/非托管C++)

  •  5
  • Kyle  · 技术社区  · 15 年前

    我目前正在开发的一个传统应用程序大约需要2个小时。该项目有约170个项目,其中150个为非托管C++,另一个为30个C·.NET 2。

    对于如何改进类似的构建时间,有什么建议?

    5 回复  |  直到 6 年前
        1
  •  8
  •   Reed Copsey    15 年前

    专注于C++项目——它们几乎保证是最大的时间消耗。

    获得C++编译时间的一些技巧:

    • 确保您只包括C++项目中需要的页眉!
    • 尽可能在头中使用前向声明,而不是包括其他头
    • 如果可能,使用/mp开关并行构建
    • 有效地使用抽象
    • 避免使用内联函数,因为这些函数在编译时开销更大
    • 使依赖项正确,这样您就不会更频繁地构建所需的
    • 适当地使用预先编译的头文件

    除此之外,如果您谈论的是2小时的构建时间,那么通常也有一个简单、便宜(从大局来看)的解决方案:

    • 升级硬件以帮助减少计算时间
        2
  •  4
  •   Daniel Bider shoosh    6 年前

    如果你安装 IncrediBuild 在每台需要构建它的机器上,它将构建过程分配给所有机器。 如果你真的想把硬件扔到这个问题上,你可以设置一些专用的机器,它们只作为不可信的客户机使用。

    以不同的比例,确保每个项目都正确配置了预编译的头文件。

        3
  •  2
  •   Vladimir Obrizan    15 年前

    您可以尝试分布式生成系统incredibuild: http://www.xoreax.com/visual_studio.htm

        4
  •  2
  •   mikelong    15 年前

    你可以使用像这样的工具 lint 来查看在C++项目中是否有冗余的包含文件。

    关于这个主题还有一篇很棒的文章 Games from Within .

        5
  •  0
  •   Chris Marisic    15 年前

    为项目制定只包含项目相关子集的多个解决方案,并为发布等保留一个超级解决方案。