windows環境下使用vscode以及相關插件搭建c/c++的編譯,調試環境

windows下使用vscode搭建c/c++的編譯、運行、調試環境,需要注意的是生成的是xxx.exe可執行文件。另外使用的編譯器是mingw,也就是windows環境下的GNU。

我參考的網址是:https://zhuanlan.zhihu.com/p/1936443912806962622

文章分為2種環境搭建:

第一種就是vscode+微軟官方c/c++插件+CMake Tools插件+GCC編譯器+vscode自帶的gdb調試器/CMake自帶的調試器。

另外一種就是:vscode+clangd插件+CMake Tools插件+clangd編譯器+CodeLLDB插件調試器

對于Windows下的GCC編譯器和Clang編譯器的下載網址:https://winlibs.com/

我下載的是都支持的:GCC 14.2.0 (with?POSIX?threads) + LLVM/Clang/LLD/LLDB 19.1.7 + MinGW-w64 12.0.0 (UCRT) - release 3? ? 對應X64版本

https://github.com/brechtsanders/winlibs_mingw/releases/download/14.2.0posix-12.0.0-ucrt-r3/winlibs-x86_64-posix-seh-gcc-14.2.0-llvm-19.1.7-mingw-w64ucrt-12.0.0-r3.7z

至于如何將bin文件的路徑添加到環境變量中,就不再贅述了,很簡單,找到對應路徑并賦值,然后? 此電腦--》高級系統設置---》環境變量---》PATH中復制該路徑。

以上2個環境,無論是哪一種,有以下幾個地方是一樣的
(1)下載winlibs的工具鏈:(c環境一站式部署)winlibs-x86_64-posix-seh-gcc-14.2.0-llvm-19.1.7-mingw-w64ucrt-12.0.0-r3.7z
(2)在環境變量path中添加bin的路徑
(3)安裝CMake Tools的插件,都需要這個插件生成CMakeList.txt文件、CMakePresets.json的過程基本一致,只是選擇的編譯器不同。

(4)右鍵vscode--》生成CMakeLists.txt、CMakePresets.json,而且這2個文件都不用修改,不過需要注意的事,路徑中不能有中文。

如果使用c/c++插件實現環境創建的話,以上插件就可以了。
如果使用clangd插件的話,需要安裝clangd插件+codeLLDB這2個插件。

如果使用vscode自帶的c/c++插件實現c語言代碼提示。
(1)、完成以上安裝之后,右鍵vsocde---》命令面板---》CMake:快速入門---》輸入新項目名字---》C 創建C項目---》生成可執行文件---》確定---》選擇源文件---》添加新預設---》從編譯器創建---》選擇GCC-MINGW編譯器(因為是在windows下執行)---》輸入預設名(gcc)----》確定
(2)選擇左側的CMake按鈕,打開---》點擊生成,就生成可執行文件,利用CMake自帶調試工具:右鍵點擊調試,進入調試界面,出現單步、全速運行的圖標。
(3)使用c/c++自帶的gdb調試工具:切換左側的“運行和調試”按鈕---》點擊創建launch.json---》c/c++(GDB/LLDB)--->c/c++:gdb 啟動---》
修改可執行文件路徑"program",例如:"program":"${workspaceFolder}/out/build/gcc/hello.exe"。
修改:"miDebuggerPath", ? 例如:"miDebuggerPath": "gdb",

如果使用clangd+codeLLDB這2個插件搭建c/C++的編譯運行環境。
(1)、完成以上安裝之后,右鍵vsocde---》命令面板---》CMake:快速入門---》輸入新項目名字---》C?
創建C項目---》生成可執行文件---》確定---》選擇源文件---》添加新預設---》從編譯器創建---》選擇clangd編譯器---》輸入預設名(clangd)----》確定。
(2)、選擇左側的CMake按鈕,打開---》點擊生成,就生成可執行文件。
(3)、使用codeLLDB調試工具:切換左側的“運行和調試”按鈕---》點擊創建launch.json---》c/c++(GDB/LLDB)--->c/c++:gdb 啟動---》CodeLLDB:Launch
修改可執行文件路徑"program",例如:"program": "${workspaceFolder}/out/build/clangd/hello.exe"。


(4)最后就可以執行調試了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95805.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95805.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95805.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

標準瓦片層級0~20,在EPSG:4326坐標系下,每個像素點代表的度數

在 EPSG:4326(WGS84經緯度坐標系) 下,瓦片層級(Zoom Level)的分辨率以 度/像素 為單位,其計算遵循 TMS Global Geodetic 規范(單位:度)。以下是 標準層級 0 至 20 的分辨…

Unity高級剔除技術全解析

目錄 ?編輯層級剔除(Layer Culling)原理詳解 代碼示例 業務應用場景 距離剔除(Distance Culling)技術細節 進階實現 開放世界優化技巧 視口裁剪(Viewport Culling)多攝像機協作方案 高級應用場景 …

[Linux] Linux文件系統基本管理

目錄 識別文件系統和設備 Linux 中設備 Linux 文件系統 查看設備和文件系統 lsblk命令 df命令 du命令 案例:查看根文件系統中哪個文件占用了最大空間 環境準備 查找過程 掛載和卸載文件系統 環境準備 掛載文件系統 卸載文件系統 卸載失敗處理 lsof …

如何在 Ubuntu 24.04 Server 或 Desktop 上安裝 XFCE

在 Ubuntu 24.04 上更改當前桌面環境或添加新的桌面環境并不是一項艱巨的任務。大多數流行的 Linux 桌面環境,包括 XFCE,都可以通過默認的 Ubuntu 24.04 LTS 系統倉庫安裝。在本教程中,我們將學習如何使用 Tasksel 工具在 Ubuntu Linux 上安裝和配置 XFCE。 訪問終端并運行…

linux下用c++11寫一個UDP回顯程序

需求&#xff1a;1&#xff09;從2個UDP端口接收數據&#xff0c;并在同樣的端口回顯。echo2&#xff09;多個處理線程&#xff0c;多個發送線程&#xff1b;3&#xff09;使用條件變量喚醒&#xff1b;#include <stack> #include <mutex> #include <atomic>…

MySQL 深分頁優化與條件分頁:把 OFFSET 換成“游標”,再用覆蓋索引抄近路

MySQL 深分頁優化與條件分頁:把 OFFSET 換成“游標”,再用覆蓋索引抄近路 這不是“玄學調優”,而是可復制的方案。本文用可復現的 DDL/造數腳本,演示為什么 OFFSET 越大越慢,如何用 條件游標(Keyset Pagination) 替換它,并配上 覆蓋索引。還會教你看 EXPLAIN/EXPLAIN A…

Unity 繩子插件 ObjRope 使用簡記

Unity 繩子插件&#xff0c;是一個基于物理的、高度逼真且可交互的繩索模擬解決方案。 其性能良好&#xff0c;能夠運行在小游戲平臺。 一、插件基本 插件資源商店地址&#xff1a; Obi Rope | Physics | Unity Asset Store 官方文檔&#xff08;手冊&#xff09;&#xff…

demo 通訊錄 + 城市選擇器 (字母索引左右聯動 ListItemGroup+AlphabetIndexer)筆記

一、城市選擇器實現筆記1. 雙層 for 循環渲染數據結構interface BKCityContent {initial: string; // 字母索引cityNameList: string[]; // 城市列表 }核心實現// 外層循環&#xff1a;字母分組 - 遍歷城市數據&#xff0c;按字母分組顯示 ForEach(this.cityContentList, (item…

【總結型】c語言中的位運算

位運算包括 & | ^ ~ << >>按位與 將某些變量中的某些位清0同時保持其他位不變。也可以用來獲取變量中的某一位。 例如&#xff1a;將int型變量n低8位全置為0&#xff0c;其余位保持不變。 n n & 0xffffff00 如何判斷一個int型變量n的第七位。 n & 0x8…

如何在FastAPI中玩轉APScheduler,實現動態定時任務的魔法?

url: /posts/4fb9e30bb20956319c783e21897a667a/ title: 如何在FastAPI中玩轉APScheduler,實現動態定時任務的魔法? date: 2025-08-16T01:14:26+08:00 lastmod: 2025-08-16T01:14:26+08:00 author: cmdragon summary: APScheduler是Python中強大的任務調度庫,支持任務持久化…

GitHub的簡單使用方法----(5)

最后一篇簡單講講git管理遠程倉庫 1.目的 備份&#xff0c;實現代碼共享集中化管理 &#xff08;將本地倉庫同步到git遠程倉庫中&#xff09; git clone 倉庫地址 以下圖為示例&#xff0c;我打開了一個別人的項目倉庫&#xff0c;點擊code能看到倉庫地址 等待完成即可 如…

C++ STL-string類底層實現

摘要&#xff1a; 本文實現了一個簡易的string類&#xff0c;主要包含以下功能&#xff1a; 1. 默認成員函數&#xff1a;構造函數&#xff08;默認/參數化&#xff09;、拷貝構造、賦值重載和析構函數&#xff0c;采用深拷貝避免內存問題&#xff1b; 2. 迭代器支持&#xff1…

【LeetCode每日一題】

每日一題3. 無重復字符的最長子串題目總體思路代碼1.兩數之和題目總體思路代碼15. 三數之和題目總體思路代碼2025.8.153. 無重復字符的最長子串 題目 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長 子串 的長度。 示例 1: 輸入: s “abcabcbb” 輸出: 3…

sharding-jdbc讀寫分離配置

一主兩從&#xff0c;爆紅是正常的&#xff0c;不知為啥 spring:shardingsphere:datasource:names: ds_master,ds_s1,ds_s2ds_master:type: com.zaxxer.hikari.HikariDataSourcedriverClassName: com.mysql.jdbc.DriverjdbcUrl: jdbc:mysql://192.168.135.100:3306/gmall_produ…

【大模型核心技術】Dify 入門教程

文章目錄一、Dify 是什么二、安裝與部署2.1 云端 SaaS 版&#xff08;快速入門&#xff09;2.2 私有化部署&#xff08;企業級方案&#xff09;三、界面導航與核心模塊3.1 控制臺概覽3.2 核心功能模塊詳解3.2.1 知識庫&#xff08;RAG 引擎&#xff09;3.2.2 工作流編排3.2.3 模…

homebrew 1

文章目錄brew(1) – macOS&#xff08;或 Linux&#xff09;上缺失的包管理器概要描述術語表基本命令install *formula*uninstall *formula*listsearch \[*text*|/*text*/]命令alias \[--edit] \[*alias*|*alias**command*]analytics \[*subcommand*]autoremove \[--dry-run]bu…

設計索引的原則有哪些?

MySQL 索引設計的核心原則是 在查詢性能與存儲成本之間取得平衡。以下是經過實踐驗證的 10 大設計原則及具體實現策略&#xff1a;一、基礎原則原則說明示例/反例1. 高頻查詢優先為 WHERE、JOIN、ORDER BY、GROUP BY 頻繁出現的列建索引? SELECT * FROM orders WHERE user_id1…

使用影刀RPA實現快遞信息抓取

最近公司項目有個需求&#xff0c;要求抓取快遞單號快遞信息&#xff0c;比如簽收地點、簽收日期等。該項目對應的快遞查詢網站是一個國外的網站&#xff0c;他們有專門的快遞平臺可以用于查詢。該平臺提供了快遞接口進行查詢&#xff0c;但需要付費。同時也提供了免費的查詢窗…

蟻劍--安裝、使用

用途限制聲明&#xff0c;本文僅用于網絡安全技術研究、教育與知識分享。文中涉及的滲透測試方法與工具&#xff0c;嚴禁用于未經授權的網絡攻擊、數據竊取或任何違法活動。任何因不當使用本文內容導致的法律后果&#xff0c;作者及發布平臺不承擔任何責任。滲透測試涉及復雜技…

Varjo XR虛擬現實軍用車輛駕駛與操作培訓

Patria基于混合現實的模擬器提供了根據現代車輛乘員需求定制的培訓&#xff0c;與傳統顯示設置相比&#xff0c;全新的模擬解決方案具有更好的沉浸感和更小的物理空間需求。Patria是芬蘭領先的國防、安全和航空解決方案提供商。提供尖端技術和全面的培訓系統&#xff0c;以支持…