您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用Visual Studio 2017作為Linux C++開發工具,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Visual Studio 2017
微軟的宇宙第一IDE Visual Studio 2017正式版出來了,地址是:https://www.visualstudio.com/vs/whatsnew/
VS2017亮點很多,包括模塊化安裝、啟動速度加快(第一次啟動加快50%以上)、github插件、啟動頁完善、增強代碼提示功能,等等,更多參考:https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes。
Visual Studio 2017 Support for Linux Development
VS2017可以編輯、編譯、調試linux上的c++、python、node.js程序(詳細)。
甚至可以編譯調試.NET程序,支持的Linux平臺包括:
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++作為開發語言,并且絕大部分代碼都有跨平臺的需求。博主一般步驟如下:
在windows機器上使用visual studio開發大部分算法功能模塊,并且調試優化完畢;在涉及到IO或者網絡相關的部分,需要port到linux平臺,痛苦的用vim編寫代碼,gcc編譯,gdb調試。
重點關注其中Visual Studio在C++跨平臺方面的亮點,即Visual C++ for Linux,有了它,就能用最先進的IDE進行跨平臺的開發了,好開心!
Visual C++ for Linux
VC++ 2017支持在編寫、調試Linux下的C++程序([詳細(https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/))。
創建跨平臺Linux C++程序,如圖:
實際使用效果如下圖,可以看到,能夠在VS下面編譯Linux代碼,甚至包括linux特有的頭文件。除了代碼補全很爽之外,還有代碼著色,可視化調試等各種優點。
使用步驟
1.目標linux機器上安裝好編譯環境與調試環境,如在ubuntu下,安裝好openssh-server/g++/gdb/gdbserver等。
sudo apt-get install openssh-server g++ gdb gdbserver
2.本機安裝好visual studio 2017,需要選擇安裝Cross Platform Linux C++環境。
3.打開Visual Studio,新建工程,選擇Cross Platform/Linux/Console Application。
4.在第一次build之前會要求ssh連接到目標linux機器,填上用戶名密碼連接目標機器。如果需要更換目標機器地址,在Tools/Options/Cross Platform下進行管理。
5.設置好一系列選項(黑體部分),與普通的Win32程序的設置基本一致。需要注意如下2點:
vs不會自動把addtional include中的頭文件復制到本地來做代碼補全的提示,需要手動將linux下面的/usr/include、/usr/local/include等目錄復制到vs的linux header path(如:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\Linux\include\usr)
頭文件包含目錄和庫文件包含目錄均為linux下的絕對路徑。
6.編譯時vs會將代碼復制到目標機器的~/projects/[project-name]目錄下,二進制文件在其目錄的bin目錄下。如下圖,Linux環境下可以看到,已經有代碼了。
實際開發
在初步使用體驗中,感覺這個vs for linux還不是特別成熟,有不少問題,包括:復制文件速度過慢、無法多線程編譯、編譯輸出信息丟失(不夠友好)、無法操作跳板機等。
不過該工具作為編碼的輔助工具,仍然非常具有價值,結合了vs強大的的代碼編輯與調試功能和linux機器的天然服務器特性。未來可期!
以上是“如何使用Visual Studio 2017作為Linux C++開發工具”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。