VSCode - C/C++ 環境


 

gcc: C語言編譯器

g++: C++編譯器

 

gdb: 執行器

下載:

首先的核心任務 就算下載可以供 C/C++ 運行開發的環境

比較常見的就算 MinGW

1. 官方網站:

https://osdn.net/projects/mingw/releases/

 

2. 下載 MiinGW 的安裝器

3. 利用下載器, 下載 一些 MinGW 的包

我也不太清楚要下載什么包, 所以就勾選了基礎的幾項

 

 

 

配置

VsCode 可以進行 C/C++ 的編譯

首先 在 VsCode 里下載 C/C++ 插件

 

然后 編寫一個最簡單的程序

#include <stdio.h>
int main() {
    int i = 0;
    printf("Hello World");
}

之后, 按 F5 運行,

提示: 這里的話 需要你的 .cpp 文件在目錄下, 用程序空間的方式載入進 vscode

 

如果沒有 launch,json 的話, 首先會讓你選擇一個 運行配置文件

根據提示創建一個 launch.json 配置文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示
            "type": "cppdbg", // 配置類型,這里只能為cppdbg
            "request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加)
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",  //最終會運行這個文件, 也就是編譯生成之后的文件, 默認是 a.exe
            "args": [], // 程序調試時傳遞給程序的命令行參數,一般設為空即可
            "stopAtEntry": false, // 設為true時程序將暫停在程序入口處,一般設置為false
            "cwd": "${workspaceFolder}", // 調試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄
            "environment": [],
            "externalConsole": false,  //是否運行在彈出的控制台上, 如果寫false的話, 似乎就什么都沒有了 // 調試時是否顯示控制台窗口,一般設置為true顯示控制台
            "MIMode": "gdb", 
            "miDebuggerPath": "xxxx/mingw/bin/gdb.exe",   //這里需要填寫gdb的地址 //miDebugger的路徑,注意這里要與MinGw的路徑對應
            "preLaunchTask": "build" //跟此運行相關的 任務的名字  // 調試會話開始前執行的任務,一般為編譯程序,c++為g++, c為gcc
        }
    ]
}

 

之后我們需要創建一個 Task.json

這個 task.json 的作用就是, 在通過 launch,json 里的配置運行之前, 先根據我們自定義的命令去運行一個任務

在這里通常這個任務是編譯, 也就是把我們的 .cpp 變成 .exe, 這樣 launch.json 才可以用 .exe 去執行

當然, 如果我們自己手動來編譯的話, 也就不需要 task,json, 但是這樣比較麻煩 isn't it?

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build", // 任務的名字, 跟上面 launch.json 的 perLaunchTask 值相對應
            "type": "shell", // 使用命令行的類型
            "command": "g++", // 使用的編譯命令
            "args": [ // 參數
                "-g",
                "${file}",
                "-o",
                "${fileBasenameNoExtension}.exe",
            ],
        }
    ]
}

 

這里解釋下 command 和 args 的關系

假設 command 是 g++

參數是 ${file}, -o, $(fileBasenameNoExtansion).exe 的話

那么相當於這個任務是在 powershell 下運行 g++ 當前文件 -o 當前文件(去掉后綴名).exe

這樣的話效果跟手動編譯是一模一樣了

 Task 完成了之后, 就開始 launch.json 的運行了

會根據 launch.json 里的 miDebuggerPath 配置的 編譯器了路徑去運行上剛生成的 exe 文件

 

另外, 網上還有另外一份配置文件

c_cpp_properties.json

但是目前不知道是什么用的, 應該是配置 cpp 文件編譯時的全局配置吧, 也好像是提供智能感知的配置

這里有2份配置參考, 目前好像是不用這兩個也可以運行

如果要添加這個文件的話 可以輸入 

ctrl+shift+p 

再輸入

C/CPP: Edit Configurations

{
    "configurations": [
        {
            "name": "MinGW",
            "intelliSenseMode": "clang-x64",
            "compilerPath": "C:/LLVM/bin/gcc.exe",
            "includePath": [
                "${workspaceFolder}"
            ],
            "defines": [],
            "browse": {
                "path": [
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}








{
    "configurations": [
        {
            "name": "Win32",
            "browse": {
                "path": [
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": true
            },
            "includePath": [
                "E:\\Applications\\Environment\\MinGW\\include\\*"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

 

 

 

然后點擊 F5 應該就成功運行了

如果不成功... 留言吧

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM