本系列文章僅作爲本人學習C++路上的點滴,思考的記錄,也希望可以幫助到需要的同學,若有錯誤之處歡迎各位前輩斧正,謝謝~
- 教材:對於第一本教材並沒有糾結很久,業內普遍推薦 《C++Primer 第五版》,還可以當做字典查詢。如果對編程沒有一點了解的跨專業同學,建議選擇《C++ Primer Plus》。
- 編輯器:本人推薦SublimeText3或者VScode,優點是體積小,插件豐富。考慮過Visual Studio 2017,但是看到如此龐大的安裝文件(選擇組件已經很少了),額。。。比較適合大型應用的開發者。貼個圖吐槽一下:
- 編譯器:在C++程序編寫好之後,我們通常需要編譯它,這裏我選擇了GNU編譯器,win10-64版本下載地址,
安裝好基礎配置之後將安裝路徑下的bin文件夾所在路徑如 H:\MinGW\bin運添加至系統環境變量Path下即可,檢查是否安裝成功,運行cmd,輸入g++ -v 如果出現類似下圖結果,則安裝成功:
運行GNU的命令爲:$ g++-Wall -o test test.cc ,其中 -o test 是編譯器參數,指定了生成的可執行文件的文件名爲test,如果省略,在win系統下會生成名爲 a.exe 的可執行文件,-Wall 參數能對有問題的程序結構發出警告。
不過在開發過程中,沒有誰能保證沒有一個bug出現,如果代碼有一些小錯誤,就要不停的編譯,會顯得很麻煩。
所以,如何能快速的在 Sublime Text3 當中舒服的編寫C++代碼以及快速編譯它呢?
- 首先在sublime工具欄中依次選擇:工具->編譯系統->新建編譯系統,複製以下代碼並保存爲mycpp
{ // "shell_cmd": "make" "encoding": "utf-8", "working_dir": "$file_path", "shell_cmd": "g++ -Wall -std=c++0x \"$file_name\" -o \"$file_base_name\"", "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.cpp", "variants": [ { "name": "Run", "shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && \"${file_path}/${file_base_name}\"" }, { "name": "RunInCmd", "shell_cmd": "g++ -Wall -std=c++0x \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause \"" } ] }
- 新建文件 test.cpp(C++程序常見後綴名有.cc、.cpp、.cp、.cxx及.C),複製以下測試代碼:
#include <iostream>
int main(){
std::cout<<"這是一個測試腳本"<<std::endl;
return 0;
}
按Ctrl +shift+B 選擇mycpp是僅編譯不運行,mycpp-Run編譯運行,因爲sublime不支持控制檯輸入,所以如果代碼有cin函數,可以選擇mycpp-RunInCmd調用cmd控制檯編譯運行。
如果編譯後運行端出現中文亂碼,一般是文件編碼的問題,轉換成GBK格式就ok了,可以參考傳送門