最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++多線程開發(fā)環(huán)境配置方法

 更新時間:2025年11月26日 10:38:28   作者:oldmao_2000  
文章詳細介紹了如何在Windows上安裝MinGW-w64和VSCode,并配置環(huán)境變量和編譯任務,使用VSCode創(chuàng)建一個C++多線程測試項目,并通過配置tasks.json和launch.json進行編譯和調(diào)試,感興趣的朋友跟隨小編一起看看吧

下載安裝 MinGW-w64

https://winlibs.com/

必須選擇帶 “posix” 的版本,這是多線程支持的關鍵!
解壓到 C:\mingw64(路徑不要有空格和中文)
配置環(huán)境變量
右鍵"此電腦" → 屬性 → 高級系統(tǒng)設置 → 環(huán)境變量
在 系統(tǒng)變量 中找到 Path → 編輯 → 新建 → 添加:
C:\mingw64\bin
驗證安裝
按 Win+R,輸入 cmd 回車,執(zhí)行:

g++ --version

下載安裝VS code

安裝完成后安裝 VS Code 擴展:
打開 VS Code,點擊左側擴展圖標(四方塊),搜索并安裝:
C/C++ - Microsoft(必裝)
C/C++ Extension Pack - Microsoft(推薦)

安裝后 重啟 VS Code。

創(chuàng)建測試項目

在桌面新建文件夾 cpp-thread-test
用 VS Code 打開該文件夾(文件 → 打開文件夾)
新建文件 main.cpp,粘貼以下代碼:

#include <iostream>
#include <thread>
#include <vector>
#include <mutex>
std::mutex mtx;
void print_thread_id(int id) {
    std::lock_guard<std::mutex> lock(mtx);
    std::cout << "Thread " << id << " is running\n";
}
int main() {
    std::vector<std::thread> threads;
    for (int i = 0; i < 5; ++i) {
        threads.emplace_back(print_thread_id, i);
    }
    for (auto& th : threads) {
        th.join();
    }
    std::cout << "All threads completed!" << std::endl;
    system("pause");  // 防止閃退
    return 0;
}

配置編譯任務

創(chuàng)建 tasks.json

按 Ctrl+Shift+P,輸入 “Tasks: Configure Default Build Task” → 選擇 “Create tasks.json file from template” → 選擇 “Others”。
將生成的文件內(nèi)容 全部替換 為:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build C++ multi-thread",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-std=c++17",
                "-pthread"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "編譯帶線程支持的 C++ 程序"
        }
    ]
}

關鍵參數(shù)說明:
-g:生成調(diào)試信息
-std=c++17:使用 C++17 標準
-pthread:啟用多線程支持

創(chuàng)建 launch.json

點擊左側運行和調(diào)試圖標(??)→ 點擊 “創(chuàng)建 launch.json 文件” → 選擇 “C++ (GDB/LLDB)” → 選擇 “g++.exe - 生成和調(diào)試活動文件”。
將生成的文件內(nèi)容 全部替換 為:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debug Multi-thread",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,  // 使用外部控制臺防止閃退
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",  // 按實際路徑修改
            "setupCommands": [
                {
                    "description": "為 gdb 啟用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build C++ multi-thread"
        }
    ]
}

手工配置編譯任務

如果在上一步的配置調(diào)試設置
這里沒有看到: 選擇 “g++.exe - 生成和調(diào)試活動文件”。
因為 VS Code 沒檢測到 g++ 編譯器。終極解決方案:手動創(chuàng)建配置
目文件夾里,找到 .vscode 文件夾,刪除里面所有文件(launch.json, tasks.json 等)

創(chuàng)建 tasks.json

右鍵 .vscode 文件夾 → 新建文件 → 命名為 tasks.json → 粘貼:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build C++ multi-thread",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-std=c++17",
                "-pthread"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}

創(chuàng)建 launch.json

右鍵 .vscode 文件夾 → 新建文件 → 命名為 launch.json → 粘貼:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debug Multi-thread",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "為 gdb 啟用整齊打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build C++ multi-thread"
        }
    ]
}

新建項目時,直接復制整個 .vscode 文件夾到新項目根目錄

到此這篇關于C++多線程開發(fā)環(huán)境配置方法的文章就介紹到這了,更多相關C++多線程環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用C語言實現(xiàn)圣誕樹(簡易版+進階版)

    用C語言實現(xiàn)圣誕樹(簡易版+進階版)

    大家好,本篇文章主要講的是用C語言實現(xiàn)圣誕樹(簡易版+進階版),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 淺析C++中結構體的定義、初始化和引用

    淺析C++中結構體的定義、初始化和引用

    以下是對C++中結構體的定義、初始化和引用進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C語言編程動態(tài)內(nèi)存開辟實現(xiàn)升級版通訊錄教程示例

    C語言編程動態(tài)內(nèi)存開辟實現(xiàn)升級版通訊錄教程示例

    這篇文章主要為大家介紹了C語言編程實現(xiàn)動態(tài)內(nèi)存開辟升級版通訊錄的教程示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Linux中利用c語言刪除某個目錄下的文件

    Linux中利用c語言刪除某個目錄下的文件

    這篇文章主要給大家介紹了Linux中利用c語言刪除某個目錄下文件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Qt中關聯(lián)容器QMap,QMultiMap,QHash,QMultiHash的使用

    Qt中關聯(lián)容器QMap,QMultiMap,QHash,QMultiHash的使用

    本文主要介紹了Qt中關聯(lián)容器QMap,QMultiMap,QHash,QMultiHash的使用,這些關聯(lián)容器在Qt中提供了靈活而強大的數(shù)據(jù)結構選項,根據(jù)具體的需求和使用場景,您可以選擇適合的容器來存儲和管理數(shù)據(jù),感興趣的可以了解一下
    2023-09-09
  • C++引用和指針的區(qū)別你知道嗎

    C++引用和指針的區(qū)別你知道嗎

    這篇文章主要為大家介紹了C++引用和指針的區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-01-01
  • C語言實現(xiàn)最全自動售貨機

    C語言實現(xiàn)最全自動售貨機

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)最全自動售貨機,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++二叉搜索樹及其實現(xiàn)方法實例代碼

    C++二叉搜索樹及其實現(xiàn)方法實例代碼

    這篇文章主要介紹了C++二叉搜索樹及其實現(xiàn)方法的相關資料,搜索二叉樹是一種左小右大的二叉樹結構,支持高效查找、插入和刪除操作,需要的朋友可以參考下
    2025-06-06
  • 浮點數(shù)乘法和整形乘除法的效率經(jīng)驗比較

    浮點數(shù)乘法和整形乘除法的效率經(jīng)驗比較

    這篇文章主要為大家介紹了浮點數(shù)乘法和整形乘除法的效率經(jīng)驗比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • C++ 超全面講解多態(tài)

    C++ 超全面講解多態(tài)

    這篇文章主要介紹了C++多態(tài)的原理與實現(xiàn),多態(tài)是一種面向對象的設計思路,本身和C++不是強綁定的,其他語言當中一樣有多態(tài),只不過實現(xiàn)的方式可能有所不同。下面來一起了解更多詳細內(nèi)容吧
    2022-04-04

最新評論

紫金县| 方山县| 娄烦县| 藁城市| 温泉县| 淅川县| 陈巴尔虎旗| 铜鼓县| 儋州市| 四平市| 峨边| 嘉鱼县| 花莲市| 周宁县| 长泰县| 雷波县| 辽宁省| 喀喇沁旗| 乌苏市| 增城市| 酉阳| 伊宁市| 慈溪市| 色达县| 青铜峡市| 周至县| 巴中市| 安塞县| 成都市| 甘泉县| 新平| 津市市| 荆州市| 兴化市| 翁牛特旗| 托克逊县| 荥经县| 芜湖县| 西和县| 海宁市| 松阳县|