配置VScode c語言環境

2021-08-22 04:24:33 字數 2261 閱讀 9179

成成最近用到c語言了,之前比較喜歡用在vscode上面用python除錯,今天我參考了一些文章,也嘗試了下在vscode上配置c語言的除錯,其中包含一些相關的基礎知識。

安裝在d:\mingw 下就好(自己新建乙個資料夾),然後開啟後這個樣子:

然後安裝好編譯器,下面設定環境變數,讓系統能夠自動找到gcc命令,我的電腦右擊->屬性->高階系統設定->環境變數,在系統變數裡面找到path,這個path和linux裡面那個path是一樣的,命令列介面下系統就根據這個path變數裡面存的路徑,尋找命令。我們把mingw的二進位制可執行檔案的資料夾新增進去。

然後在檔案所在目錄下的命令列中輸入

gcc -g test.c -o test.exe
gcc 是編譯命令,剛剛我們安裝的,-g引數是表示編譯時帶上可除錯記號,不然編譯好的東西只能執行不能除錯,-o 是表示指定輸出檔案,後面緊跟輸出檔案的名字,這一條指令就可以將c檔案編譯成乙個可執行的二進位制檔案。

然後可以在命令列下執行:

./test.exe
如下圖:

我們用vscode進行自動編譯也是這個原理,其實所有的ide都是這個原理。

問題:如果沒有配置系統環境變數會出現什麼問題?

3、配置vscode

開啟vscode載入剛剛的c檔案,網上網友說編譯c檔案要開啟檔案所在的資料夾,我嘗試了下,確實是這樣的。如下圖:

然後點除錯,他會跳出乙個launch.json的乙個配置檔案:

修改這幾個地方就好:

program一項,指明了需要執行的檔案,$()的格式是表明這是變數,又vscode自己新增,根據英文可以知道這個變數的含義,midebuggerpath是我們安裝gdb的路徑,前面提到過他,是用來除錯的二進位制檔案(可執行二進位制檔案也叫命令)。prelauchtask是乙個重點(敲黑板),我們這個配置的意思是用gdb去除錯 program引數指定的二進位制檔案,但如果沒有這個檔案怎麼辦,結合之前的例子,我們知道我們可以除錯執行的是gcc編譯生成的二進位制test.exe檔案,但如果沒有這個二進位制檔案,我們是不是應該先用gcc編譯乙個出來?prelaunchtask就是幹這個的!

生成tasks.json可以通過,選單裡的任務,然後配置任務,模板然後選other就可以,幾個必須的配置項就像下面:

version不重要,跳過。command和args其實剛好拼成我們前面的命令:

gcc -g ***.c -o ***.exe
這就自動會生成我們要的exe檔案了。然後我們再結合前面那個配置檔案看一下:

假設我們編譯test.c檔案,則$就是test.c,然後先執行prelaunchtask,就相當於執行了

gcc -g test.c -o test.exe
由此生成了test.exe檔案

然後又要用gdb除錯$.exe,剛好就是test.exe,這裡的配置和剛剛的輸出檔名要一致,相當於執行了:

gdb test.exe
這樣就啟動除錯了。

最後vscode裡除錯如下圖:

配置VScode c語言環境

vscode 提示 找不到,原來是不同平台上,標頭檔案不一樣。參考 vs出現 fatal error c1083 無法開啟包括檔案 sys socket.h no such file 原創junruiqwertyuiop 發布於2018 07 11 13 50 31 閱讀數 7458 收藏 展開wi...

VScode C 環境配置

自己平台是mac,之前一直用clion 版本 2019.1 寫c 對於clion,有兩個缺點一直都很忍受,奈何無奈mac平台的vs一直不支援c 一直默默忍受著。一直老是卡住,經常性寫乙個cout就一直卡,難以理解這麼基本的語句為何會頻繁卡頓。執行速度超級慢,定義乙個物件,使用物件函式的時候,函式提示...

vscode c 的環境配置

vscode c 的環境配置 launch.json exe 將要進行除錯的程式的路徑 args 程式除錯時傳遞給程式的命令列引數,一般設為空即可 stopatentry false 設為true時程式將暫停在程式入口處,一般設定為false cwd 除錯程式時的工作目錄,一般為 即 所在目錄 en...