如何加快构建时间? (C#/ Unmanaged C ++)

时间:2009-07-29 19:00:55

标签: c# c++ msbuild .net-2.0 unmanaged

我正在研究的遗留应用程序需要大约2小时才能构建。该项目有大约170个项目,其中150个是非托管C ++,另外30个是C#.Net 2.0。

对于如何改善此类内容的构建时间有哪些建议?

5 个答案:

答案 0 :(得分:8)

专注于C ++项目 - 它们几乎可以保证成为最大的建设时间。

关于缩短C ++构建时间的一些提示:

  • 确保您只包含C ++项目中需要的标题!
  • 尽可能在标题中使用前向声明,而不是包含其他标题
  • 在可能的情况下使用/ MP开关并行构建
  • 有效使用抽象
  • 使用内联函数,因为这些函数在编译时花费更多
  • 获取正确的依赖关系,因此您不需要更频繁地构建
  • 适当使用预编译的标题

除此之外,如果你说2小时的构建时间,通常还有一个简单,便宜(以大图片方式)的解决方案:

  • 升级硬件以减少计算时间

答案 1 :(得分:4)

如果在每台需要构建它的计算机上安装IncrediBuild,它会在所有计算机之间分配构建过程。 如果你真的想在这个问题上抛出硬件,可以设置一些仅作为IncrediBuild客户端使用的专用机器。

在不同的比例上,确保您的每个项目都已正确配置预编译的标头。

答案 2 :(得分:2)

您可以尝试使用分布式构建系统Incredibuild:http://www.xoreax.com/visual_studio.htm

答案 3 :(得分:2)

您可以使用lint之类的工具来查看您的c ++项目中是否包含冗余包含文件。

Games from Within还有一篇关于这个主题的精彩文章。

答案 4 :(得分:0)

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