5

我目前正在开发的旧版应用程序需要大约 2 小时来构建。该项目有大约 170 个项目,其中 150 个左右是非托管 C++,另外 30 个是 C#.Net 2.0。

关于改善此类构建时间的方法有哪些建议?

4

5 回答 5

8

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

有关缩短 C++ 构建时间的一些技巧:

  • 确保只包含 C++ 项目中需要的标头!
  • 尽可能在标头中使用前向声明,而不是包含其他标头
  • 尽可能使用 /MP 开关并行构建
  • 有效地使用抽象
  • 避免使用内联函数,因为这些函数在编译时成本更高
  • 获取正确的依赖关系,这样您就不会更频繁地构建所需的内容
  • 适当地使用预编译的头文件

除此之外,如果您谈论的是 2 小时的构建时间,通常还有一个简单、便宜(从整体上看)的解决方案:

  • 升级硬件以帮助减少计算时间
于 2009-07-29T19:05:29.857 回答
4

如果您在需要构建它的每台机器上安装IncrediBuild ,它会在所有机器之间分配构建过程。如果您真的只想用硬件解决问题,您可以设置一些仅用作 IncrediBuild 客户端的专用机器。

在不同的规模上,确保您的每个项目都正确配置了预编译的头文件。

于 2009-07-29T19:28:48.163 回答
2

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

于 2009-07-29T19:04:57.020 回答
2

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

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

于 2009-07-29T19:54:44.857 回答
0

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

于 2009-07-29T19:16:51.217 回答