加快构建时间的方法?(C#/非托管C+;+;)

加快构建时间的方法?(C#/非托管C+;+;),c#,c++,msbuild,.net-2.0,unmanaged,C#,C++,Msbuild,.net 2.0,Unmanaged,我目前正在开发的旧版应用程序大约需要2小时才能构建。该项目有约170个项目,其中150个为非托管C++,另一个为30个C·.NET 2。 如何提高这种情况下的构建时间? < P>你可以尝试分布式构建系统:MuxBudi: 集中在C++项目上,它们几乎保证是最大的时间消耗。 关于获得C++编译时间的一些提示: 确保你只包括C++项目中需要的头文件! 尽可能在头中使用前向声明,而不是包括其他头 尽可能使用/MP开关并行构建 有效地使用抽象 不要使用内联函数,因为这些函数在编译时的成本更高 获得正

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

如何提高这种情况下的构建时间?

< P>你可以尝试分布式构建系统:MuxBudi:

集中在C++项目上,它们几乎保证是最大的时间消耗。 <>关于获得C++编译时间的一些提示:

    确保你只包括C++项目中需要的头文件!<李>
  • 尽可能在头中使用前向声明,而不是包括其他头
  • 尽可能使用/MP开关并行构建
  • 有效地使用抽象
  • 不要使用内联函数,因为这些函数在编译时的成本更高
  • 获得正确的依赖项,这样您就不会频繁地构建所需的依赖项
  • 适当地使用预编译的标题
除此之外,如果您谈论的是2小时的构建时间,通常还有一个简单、廉价(从总体上看)的解决方案:

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

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

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

在不同的比例下,确保每个项目都有正确配置的预编译头。

,可以使用一个工具来查看C++项目中是否有冗余的包含文件。
上也有一篇关于这个主题的文章。

以前也有人问过类似的问题。搜索“IncredBuild”以查找其中的一些。您需要经常从头开始构建它,还是增量构建速度较慢?我们经常需要从头开始构建。无论何时更改为QC,我们都需要完整版本。100%同意。你用什么编译器?检查适当的编译器缓存系统(例如GCC的C现金)SSD对于构建服务器MITE值得期待的ATI主要使用MSVC,但是上面的大多数参数是通用C++编译策略。然而,问题可能是MSVC特定的,因为它是C++和C的混合。