设为首页 | 加入收藏
> 栏目导航
热门排行
您的位置:主页 > 健康新闻 > 健康新闻

2020年6月:Visual Studio对Linux开发平台的更新_科技频道_东方


发布日期:2020-06-08 05:14   来源:未知   阅读:

原标题:2020年6月:Visual Studio对Linux开发平台的更新

三项更新

通过使用Visual Studio 2019,你可以在一台远程Linux系统或者WSL(Windows Subsystem for Linux)上进行编译和调试C++工程,另外,你还可以使用Visual Studio中开发基于MSBuild和基于CMake的工程。

CMake是一个很好的工具,对于同一套代码,可以使用CMake来对各种不同平台编写构建脚本。所以,我们推荐它作为跨平台开发的首选编译工具,同时在开源世界也有很多开发者一直在使用它。

在今天的文章中,我们将关注近期Visual Studio对Linux开发平台的各种更新要点,它们分别是:

> 对于Linux版Ninja的支持。Ninja是一个关注于速度的编译系统。一直以来,Ninja都是作为Windows目标平台CMake配置的默认生成引擎(底层的构建系统),从Visual Studio 2019 v16.6 Preview 3开始,我们添加了Linux版Ninja的支持。具体来说,由于在速度上Ninja比传统Unix Makefiles更胜一筹,所以我们将它作为了Linux目标平台(或者WSL)的首选CMake配置生成器。

> 对gdbserver的顶格支持。Gdbserver是一个可以针对运行在远程Linux系统上的程序进行调试的服务器程序。它特别适合于嵌入式调试的场景,因为目标系统可能不具备足够的资源来运行gdb。在Visual Studio 2019 v16.7 Preview 1中,我们添加了一个新的调试器配置,以支持远程系统的CMake工程的调试。这样的话,你再也不需要手动的修改launch.vs.json配置文件了,手动修改配置文件一直是比较麻烦的事情。

> 针对连接管理器的优化。Visual Studio中的连接管理器可以用来管理和存储SSH远程连接信息。针对我们收到的大量反馈,我们决定在Visual Studio 2019 v16.7 Preview 2中添加远程连接的修改和设置默认连接的功能支持。有了这个功能,你就可以方便的修改一个现有的远程连接(例如,远程设备的IP发生了变化,你可以直接修改),以及设置默认的远程连接,这个默认的远程连接将会在CMake工程中的CMakeSettings.json和launch.vs.json文件中的这个变量使用到。

使用Ninja提高Linux工程编译速度

Ninja现已成为CMake配置的默认生成引擎。在基于Debian的Linux系统上,你可以使用如下指令安装Ninja:

我们选用了两个开源工程bullet3和LLVM来测试Ninja和Unix Makefiles的编译性能。下表中展示了在Visual Studio中和在一台本地VM(Ubuntu)上进行一次重新编译的时间对比。

在Visual Studio 2019 v16.6 Preview 3及更高版本中,你可以直接在Visual Studio上直接编译Linux工程,借助CMake和Ninja,你将会看到编译性能的显著提高,带来的更少的编译时间(更多的喝咖啡时间)。