vs配置编译c语言,为 VSCode 配置 C 语言编译环境
1. 前提條件
安裝 VSCode 以及 MinGW
安裝好 VSCode 中的 C/C++ 擴(kuò)展
[圖片上傳失敗...(image-e93c7c-1606314000230)]
PS: 我建議使用 chocolatey 安裝,這樣可以自動配置好環(huán)境變量
運(yùn)行下列命令檢查是否已經(jīng)配置好環(huán)境變量:
gcc --version
gdb --version
2. 配置 VSCode
2.1. 創(chuàng)建工作文件夾
打開 Windows 的 Command Prompt,運(yùn)行下列命令:(建立一個(gè)叫 project 的文件夾,里面將會放置你的程序文件,然后建立一個(gè)叫 helloworld 的子文件夾,進(jìn)到子文件夾,打開 VSCode )
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .
最后的 code . 命令會在當(dāng)前文件夾打開 VSCode ,當(dāng)前文件夾隨即變成當(dāng)前的 workspace
2.2. 創(chuàng)建C語言的源代碼文件
點(diǎn)擊創(chuàng)建新文件,命名為 helloworld.c
image
在源代碼文件內(nèi)輸入:
#include
int main() {
printf("Hello World!\n");
return 0;
}
保存源代碼文件
2.3. 編譯C語言的源代碼
這一步我們需要創(chuàng)建一個(gè) tasks.json 文件來告訴VSCode如何編譯C語言的源代碼。
在菜單中選擇 Terminal > Configure Default Build Task 。隨后會出現(xiàn)一個(gè)下拉菜單,里面會有 VSCode 預(yù)設(shè)的一些編譯選項(xiàng)。我們這里選擇 gcc.exe 這一項(xiàng)。
image
選中之后,VSCode 在當(dāng)前工作文件夾下面的一個(gè) .vscode 的文件夾中自動創(chuàng)建了一個(gè) tasks.json 文件,文件內(nèi)容看起來可能是這樣的:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\ProgramData\\chocolatey\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\ProgramData\\chocolatey\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: C:\\ProgramData\\chocolatey\\bin\\gcc.exe"
}
]
}
其中 commend 選項(xiàng)給出了具體執(zhí)行編譯任務(wù)的程序文件,在這里就是我們剛才選擇的 gcc.exe 。args 選項(xiàng)給出的是運(yùn)行編譯任務(wù)時(shí)傳遞給 gcc 的參數(shù)。
創(chuàng)建好 tasks.json 之后,我們可以進(jìn)行編譯了。在菜單中選擇 Terminal > Run Build Task
如果編譯成功,你應(yīng)該可以看到一個(gè)與源代碼同名的 exe 可執(zhí)行文件
2.4. 調(diào)試C語言的源代碼
這一步我們需要創(chuàng)建一個(gè) launch.json 文件來告訴 VSCode 如何編譯 C 語言的源代碼,即按下 F5 時(shí)啟動 GDB 調(diào)試器。
在菜單中選擇 Run > Add Configuration ,然后選擇 C++ (GDB/LLDB) 。隨后會出現(xiàn)一個(gè)下拉菜單,里面會有一些預(yù)設(shè)的調(diào)試配置。我們這里選擇 gcc.exe 這一項(xiàng)。
VSCode 就會自動創(chuàng)建一個(gè) launch.json 文件,同時(shí)編譯并運(yùn)行調(diào)試當(dāng)前的 helloworld
launch.json 文件看起來可能是這樣:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - 生成和調(diào)試活動文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\ProgramData\\chocolatey\\bin\\gdb.exe",
"setupCommands": [
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe build active file"
}
]
}
其中 program 指定要進(jìn)行調(diào)試的程序。
默認(rèn)情況下,源代碼中不會自動設(shè)置斷點(diǎn),我們可以把 stopAtEntry 的值改成 true ,這樣在調(diào)試的時(shí)候,即便沒有添加任何斷點(diǎn),調(diào)試也會停止在 main 函數(shù)的入口。
注意:preLaunchTask 指定調(diào)試之前需要執(zhí)行的任務(wù),需要確保其與 task.json 中的 label 的值一致。
2.5. 其他配置
如果希望調(diào)控更多的參數(shù),我們可以創(chuàng)建一個(gè) c_cpp_properties.json 文件,其中可以修改編譯器的路徑、頭文件 (include) 的路徑以及編譯器使用的標(biāo)準(zhǔn)(如c99)等參數(shù)。
可以在 Command Palette (Ctrl+Shift+P) 中運(yùn)行 C/C++: Edit Configurations (UI) 來查看這些參數(shù),如果對參數(shù)進(jìn)行了修改,VSCode 會把這些修改寫入 c_cpp_properties.json 文件中。
image
這里我們把 C 語言的標(biāo)準(zhǔn)改為 c11 ,也可以不修改。
參考鏈接
總結(jié)
以上是生活随笔為你收集整理的vs配置编译c语言,为 VSCode 配置 C 语言编译环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。