日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vscode配置C语言问题

發布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vscode配置C语言问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在最前,本篇文章是針對Windows系統上gdb調試失敗問題的,有關完整配置教程,直接參見末尾的參考資料。

Vs code配置C語言

最近需要用到C,但是VS太大了,對付一般小項目有點大材小用,所以請出小巧的Vs Code,自帶markdown書寫,插件居多,很好用就是了。
那么,配置C/C++該怎么搞呢?

  • 下載vs code
  • 下載MinGW
  • 配置json文件
  • 代碼測試
  • 下載vs code

    這一步無需多言,打開必應搜vs code即可(當然用百度也不攔著,就是需要找一下官網)。
    具體網址:https://code.visualstudio.com/

    下載MinGW

    注意,不要下載官網的MinGW,下載后經過檢查是失敗的,見下面launch.json的配置。因此使用的是dev c++中的MinGW,直接下載dev c++即可。把相應的MinGW的bin目錄添加到環境變量中即可

    配置json文件

    其實沒必要新建c工程,再依次生成json,再進行修改,而是直接新建相應的json文件即可。
    有三個json文件:

    • c_cpp_properties.json
    • launch.json
    • tasks.json

    然后是具體配置:

    • c_cpp_properties.json
    {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "8.1","compilerPath": "D:\\MinGW\\bin\\gcc.exe", //MinGW的bin目錄下的gcc.exe路徑"cStandard": "c11","cppStandard": "c++17"}],"version": 4 }
    • launch.json
    {// 使用 IntelliSense 了解相關屬性。 // 懸停以查看現有屬性的描述。// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 被調試程序"args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,"MIMode": "gdb","miDebuggerPath": "D:\\DevC++\\Dev-Cpp\\MinGW64\\bin\\gdb.exe", // 自己電腦的gdb"preLaunchTask": "echo", // 在調試前需要執行的任務名稱"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}] }

    注意上面的miDebuggerPath,因為到后面,本人發現只要是從官網下載下來的MinGW,寫成該路徑,斷點調試后總會跳出下圖所示的錯誤。

    經過一番搜索,在stackoverflow上找到了答案,這里為了方便大家,截圖解決方案。

    意思是gcc版本不對,必須使用64位的。
    那么用官網的為什么不行呢?在源程序添加斷點后,在Terminal中輸入gdb test.c,得到以下提示:

    原來自帶的是32位的,問題就是出在這里,但我目前確實沒找到用哪個才是64位的
    所以換個思路,不就是需要MinGW嗎?除了官網還有許多替代品,因此還有許多可選選項
    正好本人電腦上有dev c++,于是直接用的自帶的gcc編譯器,結果通過了。
    有大佬能解答下最好。

    • tasks.json
    {// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "echo","type": "shell","command": "gcc", //c語言用gcc,c++用g++"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"],"problemMatcher": ["$gcc"]}] }

    至此,json文件就配置完成了。

    代碼測試

    輸入以下代碼:

    #include <stdio.h>int main() {printf("This is a test!");int i = 0;int j = 1;int k;k = i + j;printf("\n k");system("pause"); // 防止一閃而過return 0; }

    結果截圖:

    額外的說明

    多啰嗦幾句。
    其實,單純編譯運行c程序的話只需要gcc就可以;同理,單純編譯運行C++程序的話只需要g++就可以了。gdb只是為了調試用

    于是有人就會問,可是vs code只有調試按鈕啊,如果安裝了官網下載的MinGW,只要按了F5,就會unable to start debugging ···,怎么直接運行呢?
    很簡單,用最原始的命令行解決。

    命令行編譯運行c程序

    首先,新建一個C程序,命名為test.c,然后編寫。
    接著,在Terminal中輸入gcc test.c -o test,意思是編譯test.c文件,生成test.exe。
    然后,再在終端輸入test,即可看到輸出。
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0ehDyQ6r-1584689739764)(https://s2.ax1x.com/2019/06/29/ZQZrjO.png)]

    總結

    vs code配置c/c++的方法基本一致,都是下載完之后,將其添加到系統環境變量,再配置相關的json文件即可。本人出問題的時候搜索了大量的教程,也遇到了按照教程配置結果出問題的朋友。比如

    • 錯誤,退出代碼為1
    • 任務被重用(講道理,這個不算錯誤,配置沒問題的話是可以正常運行的)
    • 錯誤,退出代碼為2
    • 錯誤,啟動調試失敗(unable to start debugging…)

    個人建議還是搜索錯誤的關鍵字,有條件就google,沒條件就Bing,百度作最后的備選,相信可以在各種博客、github、代碼社區找到相應的問題解決方案。
    這里本人遇到的是啟動調試失敗,然后使用dev c++的MinGW就成功了。

    參考資料

  • 暮無雪代碼博客
  • stackoverflow上關于調試失敗問題的解答
  • 總結

    以上是生活随笔為你收集整理的Vscode配置C语言问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。