如何在Win11環境下使用Vscode執行C/C++ === 作者: [台中教育大學 白帽社](https://hackmd.io/@ntcuhack/index) -sunfrancis12 ## 前言 ### 撰寫日期 *此篇教學撰寫於2023/9/5* ### 歷史紀錄 *此篇教學更新於2023/10/3* ### 試用版本 * WIN 10 & WIN 11 Win10和Win11的安裝方法和步驟都基本相同,只是兩者的系統設定介面不太一樣,而且**設定的名稱以及完成設定的方法都是完全一樣的**,所以本教學也同樣適用於Win10版本 ### 給讀者的話 想要編譯 **C/C++** 語言需要C的編譯器(compiler),但是Vscode本身的性質比較像是一種文字編輯器,可以當作是Windows文字編輯器的高階版本,其本身是不包含[GCC](https://zh.wikipedia.org/zh-tw/GCC)(C語言編譯器)的,因此我會建議初學者如果不太會安裝的話或者嫌麻煩的可以從Dev C++或Code Blocks開始寫C ~~雖然他們的介面是真的不怎麼好看啦~~ ## 安裝編譯器 我們首先要安裝C的編譯器(compiler),也就是GCC,我這裡要安裝的是[Mingw](https://zh.wikipedia.org/zh-tw/MinGW) ### 前往官網下載Mingw > 網址: https://www.mingw-w64.org/downloads 我們這裡選擇的是WinLibs.com,安裝的流程也相對簡單  進到Winlibs官網,點選想要的版本下載(我是下載最新的版本),要注意下載的檔案格式為`.7z`,需要事先下載[7zip](https://www.7-zip.org/)來解壓縮 > 官網: https://winlibs.com/  解壓縮完後,會出現一個`Mingw64`的資料夾,我會建議把資料夾移至`C:\`目錄  點進去資料夾,點開`bin`資料夾,將以下檔案路徑複製起來,以圖片為例:`C:\mingw64\bin`  ## 設定環境變數 我們需要設定[環境變數](https://learn.microsoft.com/zh-tw/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.3)(Environment Variable),這樣才能在系統中任意的目錄中呼叫gcc編譯器 ### 方法一 可以直接在功能欄搜尋`編輯系統環境變數` 開啟  ### 方法二 打開設定,點選`系統資訊`  點選`進階系統設定`  點選`環境變數`  ### 環境變數 選取"系統變數"的`Path`,按下`編輯`按鈕  按下`新增`,將剛剛複製的檔案路徑貼上於此,(C:\mingw64\bin),完成後按下`確定`。  ## 測試編譯器 在工作欄搜尋`cmd`(命令提示字元),點擊打開  開啟後,輸入以下指令,測試gcc編譯器呼叫是否成功 ``` gcc --version ``` *備註:我有安裝一個應用程式叫[Windows terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=zh-tw&gl=tw&icid=CatNavSoftwareWindowsApps),所以cmd的樣子會跟系統預設的不太一樣* 成功結果如下,可以看到版本資訊  ## 安裝VScode以及所需套件 我們可以開始來安裝Vscode了,到官網去下載Vscode > 官網: https://code.visualstudio.com  下載完成後,點擊左邊那列的`Extensions`圖案  ### C/C++ 搜尋C/C++,下載`C/C++`和`C/C++ Extension Pack`。   ### Code Runner :::info **備註:** Code Runner其實不是必要的套件,他只是一個自動幫你輸入編譯指令的套件而已,有他就不用每次都要輸入編譯的指令,十分方便,建議大家安裝 ::: 搜尋code runner,下載`code runner`  接下來我們還需要調整`code runner`設定,點開小齒輪,從下拉選單選取`Extension setting` 進到選單後,往下滑找到`Run in Termainal`,將該選項打勾  ## VScode編譯器設定 按`Crtl` + `Shifp` + `p` 快捷鍵打開搜尋欄搜尋**C/C++:Edit Configurations (UI)**  點進去後,可以看到一個設定介面如下  我們找到`編譯器路徑`欄位,選擇`gcc.exe`  :::info **備註:** 路逕每個人可能會有所不同,就是你當初下載Mingw所放的檔案位置 ::: 找到`IntelliSense 模式`欄位,選擇`windows-gcc-x64`  :::info **備註:** x64是指電腦為64位元,如果你的電腦是32位元的話請選擇x86,但是現在真的還有32位元的電腦嗎?? ::: ## 測試程式撰寫與執行 我寫了一個hello world的C++程式,程式碼如下 ```C++= #include<iostream> using namespace std; int main(){ cout<<"Hello world"; } ``` 完成後,可以按右上角的三角形圖案,執行程式  在下面的`Terminal`終端機就可以看到程式運行的結果囉  ## 補充 當然除了上述的方法之外,我們也可以在`Terminal`裡面輸入指令來生成一個執行檔,並使用指令執行 ### For C 我撰寫的程式如下: ```c= #include<stdio.h> int main(){ printf("Hello world"); } ``` 編譯.c檔案的指令如下: ``` gcc {檔案路徑} -o {執行檔名稱} ``` 以下面指令為例,我要編譯一個名為"hello_world.c"的檔案,並且編譯完成後生成的執行檔(.exe)會叫做"hello_world_c.exe" 如果沒有加上後面`-o ....`參數的部分,系統會默認生成一個`a.exe`執行檔 ``` gcc hello_world.c -o hello_world_c ``` 結果如下:  我們在終端機輸(預設為Powershell)入執行檔名稱,就可以執行該執行檔 ``` ./hello_world_c.exe ```  ### For C++ 我撰寫的程式如下: ```c++= #include<iostream> using namespace std; int main(){ cout<<"Hello world"; } ``` 編譯.cpp檔案的指令如下: ``` g++ {檔案路徑} -o {執行檔名稱} ``` 以下面指令為例,我要編譯一個名為"hello_world.cpp"的檔案,並且編譯完成後生成的執行檔(.exe)會叫做"hello_world_cpp.exe" 如果沒有加上後面`-o ....`參數的部分,系統會默認生成一個`a.exe`執行檔 ``` g++ hello_world.cpp -o hello_world_cpp ``` 結果如下:  我們在終端機輸(預設為Powershell)入執行檔名稱,就可以執行該執行檔 ``` ./hello_world_cpp.exe ```  ### 更多關於GCC 編譯的介紹可以看這篇 > https://blog.gtwang.org/programming/gcc-comipler-basic-tutorial-examples/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up