最新VScode C/C++ 環(huán)境配置的詳細(xì)教程
前言
一次在VScode上配置C/C++環(huán)境的記錄。
一、VScode下載及安裝
VScode官網(wǎng)下載鏈接:https://code.visualstudio.com/Download
1.安裝路徑自行選擇,例如我的安裝路徑為D:\Program Files\Microsoft VS Code;
2.安裝完成進(jìn)入VScode后按照步驟install中文插件完成漢化(此處我已完成漢化,故插件包顯示“卸載”,未安裝情況下此處應(yīng)顯示“install”);
3.以同樣的步驟安裝C/C++拓展包(注:此處可能存在插件在線安裝失敗的情況,可嘗試換個(gè)網(wǎng)絡(luò)環(huán)境或重啟機(jī)器;或者按照提示進(jìn)行離線手動(dòng)安裝)。
二、MinGW64安裝及環(huán)境配置
VScode是微軟發(fā)布的一款輕量級(jí)文本編輯器,本質(zhì)是IDE性質(zhì)(與txt,notepad++無(wú)異),本身不具備編譯各種高級(jí)語(yǔ)言的能力,故要安裝一款編譯器配合VScode使用。
1.MinGW介紹
MinGW 的全稱是:Minimalist GNU on Windows 。它實(shí)際上是將經(jīng)典的開(kāi)源 C語(yǔ)言 編譯器 GCC 移植到了 Windows 平臺(tái)下,并且包含了 Win32API ,因此可以將源代碼編譯為可在 Windows 中運(yùn)行的可執(zhí)行程序。而且還可以使用一些 Windows 不具備的Linux平臺(tái)下的開(kāi)發(fā)工具。一句話來(lái)概括:MinGW 就是 GCC 的 Windows 版本 。
以上是 MinGW 的介紹,MinGW-w64 與 MinGW 的區(qū)別在于 MinGW 只能編譯生成32位可執(zhí)行程序,而 MinGW-w64 則可以編譯生成 64位 或 32位 可執(zhí)行程序。
1.MinGW64安裝
自行搜索MinGW的各種版本的安裝包(注:現(xiàn)代Windows機(jī)器一般選擇64位的x86-64版本),我的安裝包是x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0_2,自行選擇解壓路徑,即安裝路徑,例如我的安裝路徑為E:\mingw64(注:此路徑非常重要,是VScode能正確連接編譯器的橋梁)。
2.配置環(huán)境變量
1.在MinGW64的安裝路徑下依次打開(kāi)E:\mingw64\bin,找到gcc.exe,右鍵屬性復(fù)制路徑;
2.(Win系統(tǒng)下)右鍵我的電腦,單擊屬性,然后按照?qǐng)D示順序依次操作,將mingw64目錄下的bin文件添加至系統(tǒng)變量;
3.驗(yàn)證是否配置成功
配置完畢后,快捷鍵win+r,輸入cmd。在窗口依次輸入gcc -v、g++ -v、gdb -v,若顯示如下圖,則表示配置成功;
三、配置json文件
VScode是基于一個(gè)個(gè)文件夾并利用json配置文件來(lái)實(shí)現(xiàn)的,所以我們新建一個(gè)文件夾,右鍵通過(guò)VScode打開(kāi)。
1.打開(kāi)后在根目錄下新建一個(gè)c源文件,并編輯測(cè)試代碼,如下圖所示:
測(cè)試代碼如下:
# include<stdio.h> int main(void) { printf("Hello World\n"); getchar(); // getchar()函數(shù)保證在調(diào)試過(guò)程中字符一直在終端顯示,直到按下任意鍵 return 0; }
2.按F5進(jìn)入調(diào)試,選擇C++(GDB/LLDB) —> gcc.exe
軟件自動(dòng)在文件夾根目錄下生成一個(gè).vscode文件,包含兩個(gè)json配置文件,如下圖所示:
其中l(wèi)aunch.json配置文件代碼如下:
{ // 使用 IntelliSense 了解相關(guān)屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "gcc.exe - 生成和調(diào)試活動(dòng)文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, //控制臺(tái)輸出,false則不顯示終端窗口 "MIMode": "gdb", "miDebuggerPath": "E:\\mingw64\\bin\\gdb.exe", //修改成你自己的路徑 "setupCommands": [ { "description": "為 gdb 啟用整齊打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "gcc.exe build active file"http://該處一定要與tasks.json的lable一致 } ] }
tasks.json配置文件代碼如下:
{ "version": "2.0.0", "tasks": [ { "type": "shell", "label": "gcc.exe build active file",//一定與preLaunchTask一致 "command": "E:\\mingw64\\bin\\g++.exe", //改為你自己的路徑 "args": [ "-g", "${file}", // "${fileDirname}\\printf.c", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "E:\\mingw64\\bin" //改為自己的路徑的bin文件夾 }, "problemMatcher": [ "$gcc" ], "group": "build" } ] }
注1:要特別注意兩個(gè)配置文件中的注釋部分,尤其是路徑部分,要改成自己的安裝路徑。
注2:兩個(gè)配置文件中的三處“gcc”和“g++”的區(qū)別?(gcc鏈接c代碼,g++鏈接c++?)。
注3:若要鏈接多個(gè)源文件,則解開(kāi)tasks.json配置文件中“args”部分代碼即可(示例鏈接printf.c文件),有更簡(jiǎn)便的方法不需要枚舉所有c源文件,自行百度嘗試。
注4:配置完成后保存.vscode文件,復(fù)制到其他工程的根目錄下可省略下一次的重新配置。
注5:每次更改完配置文件后要及時(shí)保存,否則不更新配置信息。
四、測(cè)試
1.單文件測(cè)試
2.不解開(kāi)tasks.json文件中的注釋部分進(jìn)行多文件鏈接測(cè)試
終端提示信息undefined reference to `printf_fun()',觀察編譯過(guò)程發(fā)現(xiàn)鏈接器沒(méi)有編譯printf.c文件,只編譯了main.c文件(更別說(shuō)鏈接了):
> Executing task: E:\mingw64\bin\g++.exe -g e:\GCC\printf\main.c -o e:\GCC\printf\main.exe <
3.解開(kāi)tasks.json文件中的注釋部分進(jìn)行多文件鏈接測(cè)試
測(cè)試通過(guò),且終端信息提示兩個(gè)文件均被編譯,且鏈接器將兩個(gè).o文件進(jìn)行鏈接:
> Executing task: E:\mingw64\bin\g++.exe -g e:\GCC\printf\main.c e:\GCC\printf\printf.c -o e:\GCC\printf\main.exe <
五、Code Runner
VScode的插件Code Runner安裝后,編輯器頁(yè)面右上方生成一個(gè)一鍵運(yùn)行按鍵,如下圖:
測(cè)試后,單文件編譯能在輸出窗口正確輸出,但是多文件測(cè)試不通過(guò),無(wú)法鏈接多個(gè)c文件,如下圖:
還沒(méi)搞清楚需要配置哪些文件能正常使用Code Runner,故暫時(shí)不建議安裝該插件。
總結(jié)
僅以此記錄使用VScode配置C/C++環(huán)境的嘗試(事實(shí)上已經(jīng)進(jìn)行了了無(wú)數(shù)次讓人吐血的debug)。文中的一些概念均為多次調(diào)試后自己的猜測(cè)和理解,某些理解不正確的計(jì)算機(jī)基礎(chǔ)知識(shí)望請(qǐng)諒解!
到此這篇關(guān)于最新VScode C/C++ 環(huán)境配置的詳細(xì)教程的文章就介紹到這了,更多相關(guān)VScode配置C/C++ 環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vscode配置C/C++環(huán)境使用minGW(保姆級(jí)配置過(guò)程)
- VsCode安裝和配置c/c++環(huán)境小白教程(圖文)
- vscode 配置 C/C++編譯環(huán)境(完整教程)
- vscode 配置 C/C++ 編譯環(huán)境的詳細(xì)圖文教程
- 在Ubuntu中安裝VSCode并配置C/C++開(kāi)發(fā)環(huán)境的方法步驟
- Ubuntu16.04下配置VScode的C/C++開(kāi)發(fā)環(huán)境
- VSCode配置C/C++并添加非工作區(qū)頭文件的方法
- VSCode配置C/C++語(yǔ)言環(huán)境(2023最新版)
相關(guān)文章
c++類型轉(zhuǎn)換及RTTI運(yùn)行階段類型識(shí)別
這篇文章主要為大家介紹了c++類型轉(zhuǎn)換及RTTI運(yùn)行階段類型識(shí)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較
以下是對(duì)字符串拷貝函數(shù)memcpy和strncpy以及snprintf它們之間的性能進(jìn)行了比較,需要的朋友可以過(guò)來(lái)參考下2013-07-07C++友元(Friend)用法實(shí)例簡(jiǎn)介
這篇文章主要介紹了C++友元(Friend)用法,對(duì)于C++的學(xué)習(xí)來(lái)說(shuō)有很好的參考價(jià)值,需要的朋友可以參考下2014-08-08詳解c++中signal信號(hào)攜帶數(shù)據(jù)的接收與發(fā)送
這篇文章主要為大家詳細(xì)介紹了c++中signal信號(hào)攜帶數(shù)據(jù)的接收與發(fā)送的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Qt之實(shí)現(xiàn)圓形進(jìn)度條的示例代碼
在平時(shí)做頁(yè)面開(kāi)發(fā)時(shí),有些時(shí)候會(huì)用到圓形進(jìn)度條,本文主要介紹了Qt之實(shí)現(xiàn)圓形進(jìn)度條的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10