欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置方法

 更新時間:2024年11月28日 11:49:10   作者:FHKHH  
本文檔詳細介紹了如何在Ubuntu環(huán)境中使用VSCode進行C/C++的編譯與調試配置,通過配置`tasks.json`和`launch.json`,實現(xiàn)了統(tǒng)一管理輸出文件、優(yōu)化調試流程以及跨平臺兼容性,配置了`g++`編譯器和`gdb`調試器,并使用C/C++插件來提高開發(fā)效率,感興趣的朋友跟隨小編一起看看吧

詳細教學文檔:Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置

本文檔將手把手引導你完成在 Ubuntu 環(huán)境中設置 VS Code 的 tasks.jsonlaunch.json,實現(xiàn)以下目標:

  • 統(tǒng)一管理輸出文件:將所有編譯生成的可執(zhí)行文件統(tǒng)一存放到項目的 build 目錄。
  • 優(yōu)化調試流程:調試器自動定位 build 中的可執(zhí)行文件,免去手動調整路徑的麻煩。
  • 跨平臺兼容性:確保配置適用于 Ubuntu 和其他類 Unix 系統(tǒng)。

前提條件

在開始之前,請確保系統(tǒng)已安裝以下工具:

g++ 編譯器
安裝命令:

sudo apt install g++

gdb 調試器
安裝命令:

sudo apt install gdb

VS Code 擴展

C/C++ 插件(Microsoft 提供):在擴展市場中搜索 “C/C++” 并安裝。

創(chuàng)建項目目錄結構

建議項目目錄結構如下:

project-root/
├── build/           # 編譯生成的可執(zhí)行文件目錄
├── src/             # 源代碼文件目錄
│   ├── main.cpp     # 示例源代碼文件
├── tasks.json       # VS Code 任務配置文件
└── launch.json      # VS Code 調試配置文件

執(zhí)行以下命令創(chuàng)建目錄結構:

mkdir -p project-root/build
mkdir -p project-root/src

將你的源代碼放入 src 目錄,例如創(chuàng)建一個簡單的 main.cpp

#include <iostream>
int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

配置 tasks.json 文件路徑

tasks.json 保存到項目目錄下的 .vscode 文件夾中。如果文件夾不存在,使用以下命令創(chuàng)建:

mkdir -p project-root/.vscode
touch project-root/.vscode/tasks.json

完整配置內容

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 編譯到 build 目錄 (Ubuntu)",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",   // 彩色錯誤提示
                "-g",                          // 啟用調試信息
                "${workspaceFolder}/src/${fileBasename}", // 指定源文件路徑
                "-o",                          // 輸出選項
                "${workspaceFolder}/build/${fileBasenameNoExtension}" // 輸出文件路徑
            ],
            "options": {
                "cwd": "${workspaceFolder}"     // 設置工作目錄為項目根目錄
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true              // 默認構建任務
            },
            "detail": "將當前活動文件編譯到 build 目錄中"
        }
    ]
}

關鍵解釋

  • ${workspaceFolder}:指代項目根目錄。
  • ${fileBasename}:當前活動文件的文件名(包括擴展名)。
  • ${fileBasenameNoExtension}:當前活動文件的文件名(不包括擴展名)。
  • -g:開啟調試符號,支持調試功能。

配置 launch.json 文件路徑

launch.json 保存到 .vscode 文件夾中:

touch project-root/.vscode/launch.json

完整配置內容

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C/C++ Runner: Debug Session",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/build/${fileBasenameNoExtension}", // 指向 build 中的可執(zhí)行文件
      "args": [],                           // 可選參數(shù),留空
      "stopAtEntry": false,                 // 是否在入口處停止
      "cwd": "${workspaceFolder}/build",    // 調試時的工作目錄
      "environment": [],                    // 環(huán)境變量
      "externalConsole": false,             // 使用內嵌終端
      "MIMode": "gdb",                      // 使用 gdb 調試
      "miDebuggerPath": "/usr/bin/gdb",     // gdb 路徑
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

關鍵解釋

  • program:動態(tài)指向 build 目錄中的可執(zhí)行文件,自動根據(jù)源文件名匹配。
  • cwd:調試器工作目錄,設置為 build。
  • miDebuggerPath:指定調試器路徑。

使用步驟

1. 編譯程序

  • 打開源文件,例如 src/main.cpp
  • 按快捷鍵 Ctrl + Shift + B 或從菜單中選擇 任務 -> 運行任務
  • 確??蓤?zhí)行文件生成到 build 目錄,例如 build/main。

2. 調試程序

  • 按快捷鍵 F5 或從菜單中選擇 運行 -> 啟動調試
  • 程序將在 build 目錄下運行,調試器會附加到進程。

常見問題排查

問題 1:g++gdb 未安裝

解決方法

sudo apt install g++ gdb

問題 2:build 目錄不存在或無寫權限

解決方法

mkdir -p buildchmod +w build

問題 3:調試時程序無法找到輸入文件

原因:默認工作目錄為 build
解決方法:將輸入文件復制到 build 目錄,或使用絕對路徑。

最終效果總結

  • 統(tǒng)一輸出路徑:所有可執(zhí)行文件存儲在 build 目錄,管理更清晰。
  • 一鍵調試:按 F5 即可運行調試,無需手動配置路徑。
  • 易于擴展:適用于多文件項目,通過修改 tasks.jsonargs 增加編譯參數(shù)即可支持復雜構建需求。

祝你使用愉快!

到此這篇關于Ubuntu 環(huán)境下的 C/C++ 編譯與調試配置的文章就介紹到這了,更多相關Ubuntu 編譯調試 C++內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言中char*和char[]用法區(qū)別分析

    C語言中char*和char[]用法區(qū)別分析

    這篇文章主要介紹了C語言中char*和char[]用法區(qū)別,包括使用過程中的誤區(qū)及注意點分析,需要的朋友可以參考下
    2014-09-09
  • C語言中結構體和共用體實例教程

    C語言中結構體和共用體實例教程

    這篇文章主要給大家介紹了關于C語言中結構體和共用體的相關資料,結構體是一種自定義的復合數(shù)據(jù)類型,共用體也叫聯(lián)合體,使幾個不同類型的變量共占一段內存(相互覆蓋),需要的朋友可以參考下
    2021-06-06
  • C++實現(xiàn)通訊錄管理系統(tǒng)

    C++實現(xiàn)通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 基于C語言實現(xiàn)的掃雷游戲代碼

    基于C語言實現(xiàn)的掃雷游戲代碼

    這篇文章主要介紹了基于C語言實現(xiàn)的掃雷游戲代碼,對于學習游戲開發(fā)的朋友有一定的借鑒價值,需要的朋友可以參考下
    2014-08-08
  • C++ Assert()斷言機制原理以及使用方法

    C++ Assert()斷言機制原理以及使用方法

    下面小編就為大家?guī)硪黄狢++ Assert()斷言機制原理以及使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 輸入一個字符串,取出其中的整數(shù)(實現(xiàn)代碼)

    輸入一個字符串,取出其中的整數(shù)(實現(xiàn)代碼)

    輸入一個字符串,內含所有數(shù)字和非數(shù)字字符。將其中連續(xù)的數(shù)字作為一個整數(shù),依次存放到一個數(shù)組中,統(tǒng)計共有多少個整數(shù),并輸出這些數(shù)
    2013-09-09
  • c++中struct和class的區(qū)別小結

    c++中struct和class的區(qū)別小結

    在C++中,class和struct都是用于定義自定義數(shù)據(jù)類型的關鍵字,本文主要介紹了c++中struct和class的區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • string居然也可以用<<和>>

    string居然也可以用<<和>>

    今天小編就為大家分享一篇關于string居然也可以用<<和>>,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 利用C語言實現(xiàn)猜數(shù)字游戲

    利用C語言實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細介紹了利用C語言實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • C++常用的#include頭文件總結

    C++常用的#include頭文件總結

    這篇文章主要介紹了C++常用的#include頭文件,對初學者理解C++程序設計大有好處的相關資料
    2014-07-07

最新評論