當要執行任何程式語言時都需要有 **編輯器** + **編譯器**,其中編輯器負責 coding 的介面,讓使用者可以方便而美觀的修改程式;編譯器負責編譯程式碼,把程式碼轉譯成機器碼後執行,兩者都準備好了才能夠好好的執行程式。 以下是透過 Visual Studio Code( VS Code )作為編輯器,MinGW 作為編譯器,執行 C/C++ 的方法。 ## 安裝 VS Code 編輯器 首先到 [VS Code 官網](https://code.visualstudio.com/)上安裝應用程式,基本上都是按下一步繼續安裝就可以了。 安裝完成之後需要再安裝執行 C/C++ 所需的延伸模組,在左側延伸模組搜尋`Code Runner` & `C/C++`並安裝。也推薦安 `Chinese (Traditional) Language Pack for Visual Studio Code` 繁中模組在後續的過程更方便的操作。 再來按下 `Ctrl + , ` 搜尋 code runner terminal 把 Whether yo run code in integrated Terminal. 的選項打勾,這樣程式就可以透過按下右上角的三角形符號在終端機執行了,省去都要輸入 `g++ [檔案名稱] -o [編譯後檔案名稱] e.g. g++ test.cpp -o test` 這樣指令編譯程式的麻煩。 ## 安裝 MinGW 編譯器 ### 第一步. 安裝 MinGW 先一樣到 [MinGW 官網](https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/)找到「MinGW-W64 Online Installer」連線下載,或是下方的「MinGW-W64 GCC-8.1.0」選擇適合自己電腦的版本離線下載,兩者的差異只是下載方式不同而已,內容都是一樣的。 安裝過程要注意別無腦連續下一步,這裡有小東西要改 XD。 如果你想要嘗試較新的選擇也可以看看這裡的額外說明。[^註腳1]  設定說明 : - **Version**:gcc 的版本,選擇默認選項。 - **Architecture**:選擇 CPU 的位元數,32 位元選擇 i686、64 位元選擇 x86_64。 - **Threads**:作業系統的 API 選擇,Windows 選 win32;有需要與其他作業系統合作選 posix。 - **Exception**:異常處理機制,選擇 seh,它速度、效能最好,是 Windows 系統原生支援的方式,但只能用於 64 位元。 - **Build revision**:構建修訂版本號,可以維持默認就好。 如果你安裝的過程有出現`The file has been downloaded incorrectly`問題可以參考這裡的說明[^註腳2] ### 第二步. 設定環境變數 安裝完成之後 MinGW 就會出現在你的電腦 C 槽中,找到 MinGW 裡面的 bin 資料夾路徑,裡面放的就是編譯 C/C++ 的編譯工具,把這複製下來,等下會用到。 到「控制台」→「系統」→「進階系統設定」→「進階」→「環境變數」→「系統變數」→「點擊 PATH」→「編輯」→「新增」,把剛剛的資料夾路徑加到這裡面就可以了。 P.S. 我多放的路徑是放個心安的 XD  ### 第三步. MinGW 測試 在 window 搜尋列裡輸入`cmd`找到命令提示字元,並輸入`g++ -v`還有`gcc -v`,如果都是出現了一大串文字的話那就表示 MinGW 安裝成功了。 而如果出現`window下g++ 不是内部或外部命令`或其他的錯誤提示那就表示安裝過程有問題,需要回到前面的步驟重新檢查看看。 ## 實際測試 回到 VS Code 按下`Ctrl + Shift + P`會出現選單,選擇「C/C++: Edit Configurations (UI)」進入設置畫面,在這裡要做兩個設定 : 1. 找到「Compiler path」,輸入 g++.exe [^註腳3] }}的路徑位置,舉例來說我的是`C:\mingw64\bin\g++.exe`。 2. 找到「IntelliSense mode」,選擇 `windows-gcc-x64`。 最後提供一段簡單的 C 語言程式碼讓你測試是否可以成功的在 VS Code 上執行 C 語言程式檔。 ```C #include <stdio.h> int main() { printf("Hello World!"); return 0; } ``` ## 參考 - [用 VSCode 寫 C/C++ 教學](https://hackmd.io/@liaojason2/vscodecppwindows) - [[C++] MinGW-w64 安裝與設定](https://alexspot.tech/jottings-windows-vscode-with-mingw-w64/) - [Meaning of options in mingw-w64 installer](https://stackoverflow.com/questions/29947302/meaning-of-options-in-mingw-w64-installer) - [What is difference between sjlj vs dwarf vs seh?](https://stackoverflow.com/questions/15670169/what-is-difference-between-sjlj-vs-dwarf-vs-seh/15685229#15685229) [^註腳1]: 我在寫文的時候有看到別人[建議使用另一種方法](https://stackoverflow.com/questions/29947302/meaning-of-options-in-mingw-w64-installer),但是我不是這麼做的,所以如果你有實驗精神的話或許可以試試看,失敗的話就回頭重新安裝一次就好XD 他的建議 : `posix - dwarf - 2`,因為 **posix** 啟用 C++11 的`<thread>,<mutex>和<future>`;**dwarf** 更快 ;**2** 是最新版的。 [^註腳2]: 這個問題我個人在安裝的時候有出現,但是其他朋友測試的時候並沒有,所以應該是少數問題,就另外在註腳寫。 我的解法參考自[wingw-w64安装时 the file has been downloaded incorrectly!](https://blog.csdn.net/kramer_1711/article/details/119416512),估計這是網路連線產生的問題,只要改成離線下載就可以了。 [^註腳3]: g++ 和 gcc 都是GNU Compiler Collection 的 C++ 編譯器,但兩者有用途上的些微差別。 g++ 支援 C++ 編譯,同時也兼容 C 程式碼的編譯,適合處理同時包含 C 和 C++ 程式碼的專案。 gcc 主要用於編譯 C 語言程式碼,並在擴展語法上支援某些 C++ 功能,但不完全支援 C++ 。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.