APP下载

Visual Studio对基于MSBuild的Linux专案支援Ninja增量建置

消息来源:baojiabao.com 作者: 发布时间:2026-09-04

报价宝综合消息Visual Studio对基于MSBuild的Linux专案支援Ninja增量建置

最新的Visual Studio 2019版本,加入了两个强化Linux开发的改进,第一个是能提升MSBuild专案建置速度的渐增建置功能,另外则是Visual Studio现可支援更多种的Linux发行版以及壳层。

微软让开发人员可以只利用Visual Studio 2019,以C++开发Windows和Linux的应用程序,而微软提到,他们提供了两个方法,让C++开发人员可以从Visual Studio建置Linux应用程序,第一个是微软推荐的方法,开发者可以使用Visual Studio原生支援的CMake进行建置,这个方法可以让开发者对多个平台,使用相同的源代码以及建置脚本,第二个则是开发者使用自己熟悉的方法,创建基于MSBuild的Linux专案。

而微软在最新的Visual Studio 2019版本,改进了基于MSBuild的Linux专案建置功能,开发者现在可以利用高效能建置系统Ninja,在基于MSBuild的Linux专案,进行更快速地增量建置,要使用这项功能,使用者需要在属性页面手动启用增量建置以及Ninja选项。

微软以基于MSBuild的Linux专案来测试Ninja的建置效能,测试专案包含了1000个.h档案和1000个.cpp档案,使用Ninja的渐增建置,完全重建的时间只要约8分钟,未使用增量建置则要13分钟,而档案仅有一处更改的建置时间,应用渐增建置只要32秒,没有渐增建置需耗时5分26秒。实验证明,无论是整个专案重新建置,或是部分更改,使用Ninja渐增建置都能大幅减少建置时间。

微软扩展Visual Studio 2019对各种Linux发行版和Shell的支援,这更新适用针对远端Linux系统或是WSL的CMake专案,以及基于MSBuild的Linux专案。另外,现在Visual Studio第一次发出命令查询壳层,当重新导向stderr(Standard Error)时,便会决定格式化命令列的方式,Visual Studio现在支援sh、csh、bash、tcsh、ksh、 zsh和dash壳层,当Linux系统不支援特定壳层,Visual Studio会自动回退使用sh。

微软验证了Visual Studio在各种Linux发行版支援的壳层,对CMake和基于MSBuild的Linux专案,测试专案创建、远端标头同步、建置与除错等功能,通过验证的Linux版本和壳层组合,包括FreeBSD支援csh、fish、zsh和bash,Ubuntu 18.04则支援fish、bash、csh和zsh,但WSL的Ubuntu只有bash,而Debian(WSL)仅有dash。

2020-07-09 23:51:00

相关文章