使用Visual Studio 2017作為Linux C++開發(fā)工具
Visual Studio 2017
微軟的宇宙第一IDE Visual Studio 2017正式版出來了,地址是:https://www.visualstudio.com/vs/whatsnew/
VS2017亮點(diǎn)很多,包括模塊化安裝、啟動(dòng)速度加快(第一次啟動(dòng)加快50%以上)、github插件、啟動(dòng)頁完善、增強(qiáng)代碼提示功能,等等,更多參考:https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes。
Visual Studio 2017 Support for Linux Development
VS2017可以編輯、編譯、調(diào)試linux上的c++、python、node.js程序(詳細(xì))。
甚至可以編譯調(diào)試.NET程序,支持的Linux平臺(tái)包括:
CentOS 7.1 and Oracle Linux 7.1
Debian 8
Fedora 23
Linux Mint 17
openSUSE 13.2
Red Hat Enterprise Linux 7.2
Ubuntu 14.04 and 16.04
博主主要是c++作為開發(fā)語言,并且絕大部分代碼都有跨平臺(tái)的需求。博主一般步驟如下:
在windows機(jī)器上使用visual studio開發(fā)大部分算法功能模塊,并且調(diào)試優(yōu)化完畢;在涉及到IO或者網(wǎng)絡(luò)相關(guān)的部分,需要port到linux平臺(tái),痛苦的用vim編寫代碼,gcc編譯,gdb調(diào)試。
重點(diǎn)關(guān)注其中Visual Studio在C++跨平臺(tái)方面的亮點(diǎn),即Visual C++ for Linux,有了它,就能用最先進(jìn)的IDE進(jìn)行跨平臺(tái)的開發(fā)了,好開心!
Visual C++ for Linux
VC++ 2017支持在編寫、調(diào)試Linux下的C++程序([詳細(xì)(https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/))。
創(chuàng)建跨平臺(tái)Linux C++程序,如圖:

實(shí)際使用效果如下圖,可以看到,能夠在VS下面編譯Linux代碼,甚至包括linux特有的頭文件。除了代碼補(bǔ)全很爽之外,還有代碼著色,可視化調(diào)試等各種優(yōu)點(diǎn)。


使用步驟
1.目標(biāo)linux機(jī)器上安裝好編譯環(huán)境與調(diào)試環(huán)境,如在ubuntu下,安裝好openssh-server/g++/gdb/gdbserver等。
sudo apt-get install openssh-server g++ gdb gdbserver
2.本機(jī)安裝好visual studio 2017,需要選擇安裝Cross Platform Linux C++環(huán)境。
3.打開Visual Studio,新建工程,選擇Cross Platform/Linux/Console Application。
4.在第一次build之前會(huì)要求ssh連接到目標(biāo)linux機(jī)器,填上用戶名密碼連接目標(biāo)機(jī)器。如果需要更換目標(biāo)機(jī)器地址,在Tools/Options/Cross Platform下進(jìn)行管理。

5.設(shè)置好一系列選項(xiàng)(黑體部分),與普通的Win32程序的設(shè)置基本一致。需要注意如下2點(diǎn):
vs不會(huì)自動(dòng)把a(bǔ)ddtional include中的頭文件復(fù)制到本地來做代碼補(bǔ)全的提示,需要手動(dòng)將linux下面的/usr/include、/usr/local/include等目錄復(fù)制到vs的linux header path(如:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Linux\include\usr)
頭文件包含目錄和庫文件包含目錄均為linux下的絕對(duì)路徑。





6.編譯時(shí)vs會(huì)將代碼復(fù)制到目標(biāo)機(jī)器的~/projects/[project-name]目錄下,二進(jìn)制文件在其目錄的bin目錄下。如下圖,Linux環(huán)境下可以看到,已經(jīng)有代碼了。


實(shí)際開發(fā)
在初步使用體驗(yàn)中,感覺這個(gè)vs for linux還不是特別成熟,有不少問題,包括:復(fù)制文件速度過慢、無法多線程編譯、編譯輸出信息丟失(不夠友好)、無法操作跳板機(jī)等。
不過該工具作為編碼的輔助工具,仍然非常具有價(jià)值,結(jié)合了vs強(qiáng)大的的代碼編輯與調(diào)試功能和linux機(jī)器的天然服務(wù)器特性。未來可期!
更多文章,查看主頁。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- visual studio 2019安裝配置可編寫c/c++語言的IDE環(huán)境
- 如何使用visual studio2019創(chuàng)建簡單的MFC窗口(使用C++)
- Visual Studio Code (vscode) 配置 C / C++ 環(huán)境的流程
- Visual Studio Code配置C、C++環(huán)境并編寫運(yùn)行的方法
- Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3開發(fā)環(huán)境
- 在Visual Studio上構(gòu)建C++的GUI框架wxWidgets的開發(fā)環(huán)境
- Visual Studio C++指針靠前靠后的問題全面解析
相關(guān)文章
創(chuàng)建第一個(gè)ASP.NET應(yīng)用程序(第1節(jié))
本文通過創(chuàng)建第一個(gè)ASP.NET應(yīng)用程序,了解.net代碼后置技術(shù)以及事件驅(qū)動(dòng)機(jī)制和web頁面設(shè)計(jì)中的基本控件使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08
ASP.NET中application對(duì)象的使用介紹
這篇文章主要介紹了ASP.NET中application對(duì)象的使用,需要的朋友可以參考下2014-04-04
ASP.NET數(shù)據(jù)綁定之DataList控件
這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的DataList控件,DataList控件以表的形式呈現(xiàn)數(shù)據(jù),通過該控件,您可以使用不同的布局來顯示數(shù)據(jù)記錄,對(duì)DataList控件感興趣的小伙伴們可以參考一下2016-01-01
使用微信PC端的截圖dll庫實(shí)現(xiàn)微信截圖功能
這篇文章主要為大家詳細(xì)介紹了使用微信PC端的截圖dll庫實(shí)現(xiàn)微信截圖功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
解決VS2015中沒有報(bào)表項(xiàng)(ReportViewer)的方法
VS2015中沒有報(bào)表項(xiàng)(ReportViewer),怎么辦?這篇文章主要為大家詳細(xì)介紹了解決VS2015中沒有報(bào)表項(xiàng)(ReportViewer)的方法,感興趣的小伙伴們可以參考一下2016-07-07
設(shè)置ASP.NET頁面不被緩存(客戶端/服務(wù)器端取消緩存方法)
設(shè)置頁面不被緩存:客戶端取消緩存、服務(wù)器具端取消緩存的具體實(shí)現(xiàn)代碼如下感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-06-06
ASP.NET 服務(wù)器路徑和一般資源調(diào)用
ASP.NET 服務(wù)器路徑和一般資源調(diào)用,實(shí)現(xiàn)代碼。2009-08-08

