前言:
今天沒有前言。
一、先來一點C++的資源分享,意思一下。
1、c++類庫源碼以及其他有關資源。站點是英文的,英文不好的話可以谷歌瀏覽器在線翻譯。http://www.cplusplus.com/

2、C++參考手冊。頁面有點復古,不過有中文版本的。https://zh.cppreference.com/w/cpp

3、GUN C++庫,你懂的。https://gcc.gnu.org/onlinedocs/libstdc++/index.html

4、一群大佬分享的一些中文開源資源。https://github.com/jobbole/awesome-cpp-cn

二、接下來是過渡,說點題外話,純屬發牢騷,可以直接跳過去看第三節。
C/C++大概我有五六年沒玩了,基本上忘了差不多。主要是入了C#這個坑(比C++多了倆+號)。剛好最近幾天在休年假,今天(2021-12-15)略感有點無趣,於是下午就想着擼一下C++,試試手感,但是很久以前的Visual C++6.0這種古老的編譯器肯定不太合適了,於是最開始想到了Visual Studio Code。於是先下載了MinGW,下載地址是:https://sourceforge.net/projects/mingw/
5、安裝MinGW以后,把以下全部勾選上。如果遇到不曉得是干嘛的選項,一般默認也勾上,可以減少錯誤的概率。

6、MinGW安裝以后,需要把安裝根目錄下的bin目錄,加到環境變量的Path里面,這樣控制台或者Power Shell里面就可以直接使用gcc或者g++命令進行編譯了(使用編譯器直接跑也可以,但是寫命令感覺比較騷一點)。
Cmd命令行輸入 gcc -v或 g++ -v可以顯示版本信息那些,就說明是OK的了。

7、再然后是VS CODE上面安裝了C++語言環境,我安裝了以下圈起來的那些。

8、然后最下面那個安裝以后,可以配置運行按鈕。不過我本地沒配好,退而求其次,使用了VS CODE右上角的那個三角形來運行。

9、如下,點擊既可編譯運行。如果是多個文件路徑,還需要自行配置進行鏈接起來。

10、同時也支持在terminal窗口使用命令進行編譯。編譯以后默認會生成 a.exe文件,如果需要生成指定名稱的文件,可以使用 g++ xxx.cpp 指定的名稱來實現。

到以上步驟以后,總感覺有點怪怪的,可能是VS CODE我還是更喜歡用來開發一些例如golang、或者前端等的東西比較上手。開發C++總感覺不太上手,也不曉得怎么跨平台發布(實力有限,搞不定)。於是,我最終換成了Visual Studio 2022這個宇宙最強IDE來進行跨平台的開發。
三、以下開始是正文,使用 VS2022 開發遠程跨平台的C++程序。
11、首先,我之前申請了一個TX雲服務器(CentOS 8.0系統),這下算是派上用場了。先遠程過去下點東西。遠程linux控制台的命令是 ssh 用戶名@ip地址

12、遠程過去以后,需要安裝ssh server。命令:yum install -y openssl openssh-server。安裝它的作用是讓它可以被VS 2022編譯器遠程訪問到。

13、進入到ssh的配置文件下做些修改。修改文件:/etc/ssh/sshd_config

14、更改一些信息,將 PermitRootLogin,RSAAuthentication,PubkeyAuthentication的注釋打開並且設置為 yes。如果沒有找到對應的,也可以直接新增。

15、啟動sshd服務,並且設置為開機啟動。命令分別是:
systemctl start sshd.service
systemctl enable sshd.service

16、然后安裝gdb服務。安裝命令:yum -y install gdb gdb-gdbserver
gdb是linux下常用的調試器,不安裝可能導致編譯失敗或者沒法編譯。

17、然后是安裝g++工具,先檢查下g++有沒有安裝。有些linux系統可能會自帶gcc和g++,沒有自帶咱們就自己安裝個好了。

18、通過命令安裝 gcc 和 g++。安裝命令:
sudo yum -y install gcc gcc-c++ kernel-devel

19、安裝完畢以后,查看g++版本。顯示版本號就代表安裝成功了,和在Windows上安裝MinGW以后的類似。不過此處的版本是4.x,和win上面的版本對比下貌似老了點,不過暫時不影響,如果不適用C++的新特性應該問題不大。如果需要使用一些新特性,就需要獨立安裝高版本的g++工具了,這個大佬們可以自行研究。

20、接下來做個實驗。首先要對VS2022做一點配置。配置一個可以提供遠程訪問的東西。工具 - 選項 - 跨平台 - 連接管理器 里面,添加一個遠程訪問的連接。
主機名=ip地址;端口默認22

21、設置完成以后。就可以開始寫代碼測試了。先使用VS2022新建一個c++項目。此處我使用的是控制台項目。

22、一些配置,在項目的右鍵屬性里面,可以看到配置的遠程連接地址被加進去了。並且在遠程根目錄下,設置了一個文件夾,叫 cpp_projects,設置以后,編譯以后的代碼和文件都會被丟到這個文件夾下。

23、執行程序的地方,默認也會出現上面配置的遠程Linux服務器的IP地址。

24、執行程序,由於沒有斷電或其他中斷操作,所以執行以后成功的話,會直接變回還沒有啟動的樣子。但是此時,運行完畢以后(編譯完畢以后),會發現剛才配置的文件夾確實出現在了根目錄下。咱們可以在對應的debug里面進行直接運行該程序,打印出了咱們在VS2022上面開發的打印內容。

25、增加頭文件試一下效果,把頭部信息丟到hello.h里面。

26、同時新增了控制台輸入,用來測試輸入,通過指針輸出出來。然后運行程序。運行成功,會顯示 部署成功字樣,不過一閃而過,容易忽略。

27、遠程linux系統上面,試一下效果。

28、瞅一下編譯生成的中間文件,Obj文件夾下的xxx.o文件,貌似有點尷尬,亂碼了,那就不科普了,大佬們自行玩玩。

29、同樣的,在linux系統上面,也可以使用g++命令進行編譯。因為代碼會被自動遠程拷貝過來,所以也可以直接在這上面編譯和運行。

30、上面代碼帶有輸入語句,所以控制台會被中斷進行停留,此刻還可以在VS上面看到遠程調用Linux控制台窗口的輸出。不過只要中斷沒了,就立馬程序也就執行完了。

以上就是本篇文章的全部內容,感謝大佬們的圍觀。
