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

vs code 配置c/c++環(huán)境的詳細教程(推薦)

 更新時間:2020年11月10日 15:07:44   作者:Willingham  
這篇文章主要介紹了vs code 配置c/c++環(huán)境的詳細教程(推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

寫在前面的一段話

我這個配置方法反正在win10上是可以用的,我自己的筆記本就是win10的系統(tǒng)。但是在實驗室蹭的學長的主機卻是win7的系統(tǒng),按道理來說這個配置應該是不分系統(tǒng)的?但是我確實是折騰了好幾天,看了很多博客的配置方法,也問過稍微會一些的人,沒有一個能解決我問題的,也希望有人能評論解決我的問題,我的vscode問題是c++只能編譯運行無法debug。每次按F5都是一閃而過,無法調試,再按就顯示調試程序正在運行。-------2019.5.3
實驗室我把系統(tǒng)換了,用了自己喜歡很久的ubuntu 18.04

vs code 配置c/c++環(huán)境

雖然平時比賽要求用的是code blocks,但是很尷尬的是我不喜歡code blocks的那個界面,平時編程感覺太白很傷眼睛。再加上最近一直在折騰個人博客,對于前端,雖然沒基礎,但是還是知道用vs code還不錯。因此,我又開始了瞎折騰的精神。希望平時編程也能通過vs code編譯c++,但是正常情況下vs code對c++編譯是很不友好的。所以想要成功編譯c++程序,要通過自己配置。但是我在網上搜到的教程很少有能一次解決我的問題的。所以參考了幾篇博客后,總結了一下。

2019.8.6 更新文章(更改生成文件位置)

不需要更改,或者只是為了編譯運行C/C++的可以直接往下看。
這個是Linux的,如果需要windows,可以自己試一試,具體應該不會差太多
因為文件分配不夠美觀(我用的文件比較多,導致生成的.o文件都堆疊在一起,很丑),所以我動了在編譯文件時將生成的a/a.o文件更換位置再運行,一開始打算通過命令行命令直接在其他位置生成生成文件,但是我并沒有找到此類命令,然后發(fā)現編譯時運行的命令是這樣的cd "/home/acm/Documents/acm/" && g++ A.cpp -o A && "/home/acm/Documents/acm/"A。所以我決定在編譯后的命令間加上移動文件命令mv A /home/acm/Documents/acm/Documents/這樣的話就將生成文件放在了acm目錄下的Documents文件夾下,不會導致多個a/a.o文件堆積在acm目錄下。而task.json文件我沒有找的修改方法,應該可以修改"command"實現,它可以運行腳本,但是我寫不來。。。所以我是通過修改了code-runner的命令來實現的。下圖為我修改后的vs code

在這里插入圖片描述

實現方法
安裝code-runner后在settings.json中找到code-runner.executorMap,將其中的cpp修改為"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && mv $fileNameWithoutExt $dir/Documents/$fileNameWithoutExt && $dir/Documents/$fileNameWithoutExt",其中的Documents是我自己的目錄,請自己修改,其他編譯命令也可以修改
我整個文件的結構如圖

在這里插入圖片描述

上面是正常的編譯運行,還要一處就是調試的生成文件,這里修改launch.json即可
更改位置的task.json

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "command": "g++",
 "args": [
 "-g", 
 "-std=c++11", 
 // "${workspaceFolder}/${file}",
 // "${file}", 
 "${workspaceFolder}/${fileBasenameNoExtension}.cpp",
 "-o", 
 "${workspaceFolder}/Documents/${fileBasenameNoExtension}.o",
 ],// 編譯命令參數
 "problemMatcher":{
 "owner": "cpp",
 "fileLocation":[
 "relative",
 "${workspaceFolder}/Documents"
 ],
 "pattern":[
 {
 "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
 "file": 1,
 "location": 2,
 //"message": 3
 }
 ]
 },
 "group": {
 "kind": "build",
 "isDefault": true
 }
}
//"command": "g++",

launch.json

{
 // Use IntelliSense to learn about possible attributes.
 // Hover to view descriptions of existing attributes.
 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
 "name": "(gdb) Launch",
 "type": "cppdbg",
 "request": "launch",
 "program": "${workspaceFolder}/Documents/${fileBasenameNoExtension}.o",
 "args": [],
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}/Documents",
 "environment": [],
 "externalConsole": false,
 "MIMode": "gdb",
 "miDebuggerPath": "/usr/bin/gdb",
 "preLaunchTask": "g++",
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ]
 },
 ]
}
//"program": "${workspaceFolder}/${fileBasenameNoExtension}.o",
//"cwd": "${workspaceFolder}",

2019.4.3 更新文章

因為最近有人問我三個文件里的c_cpp_properties.json會報錯,我也不知道報錯的具體原因,可能是因為版本更新?幾個月前vscode就可以配置時不需要在加c_cpp_properties.json這個文件了。對其余兩個文件單獨更新一下。也因為最近重裝過電腦,自己重新找教程配置了一遍。
tasks.json

 {
 "version": "2.0.0",
 "tasks": [
 {
 "label": "Build",
 "command": "g++",
 "args": [
 "-g",
 "-Wall",
 "-std=c++11",
 "-lm",
 "${file}",
 "-o",
 "${fileDirname}/${fileBasenameNoExtension}.exe"
 ],
 "presentation": {
 "reveal": "always",
 "echo": false,
 "focus": true
 },
 "problemMatcher": {
 "owner": "cpp",
 "fileLocation": "absolute",
 "pattern": {
 "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
 "file": 1,
 "line": 2,
 "column": 3,
 "severity": 4,
 "message": 5
 }
 }
 },

 {
 "label": "Run",
 "type": "shell",
 "dependsOn": "Build",
 "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
 "args": [],
 "presentation": {
 "reveal": "always",
 "focus": true
 },
 "problemMatcher": [],
 "group": {
 "kind": "test",
 "isDefault": true
 }
 }
 ]
}

launch.json

{
 // Use IntelliSense to learn about possible attributes.
 // Hover to view descriptions of existing attributes.
 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
 "name": "(gdb) Launch",
 "type": "cppdbg",
 "request": "launch",
 "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
 "args": [],
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}",
 "externalConsole": false, //強調一下,我習慣用vscode自帶的終端,所以你不習慣可以改為true
 "MIMode": "gdb",
 "miDebuggerPath": "E:\\vs code\\MinGW\\mingw64\\bin\\gdb.exe",
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ],
 "preLaunchTask": "Build"
 }
 ]

}

參考博客

Visual Studio Code (vscode)編譯C++

整理:Visual Studio Code (vscode) 配置C、C++環(huán)境/編寫運行C、C++(Windows)

下載Visual Studio Code

下載地址

安裝插件

可以選擇ctrl+shift+x在商店里搜索或者選擇ctrl+shift+p打開命令框輸入

ext install cpptools

安裝該插件

cpptools

安裝MinGW-W64,配置環(huán)境

據說MinGW已經不更新了?=.=所以安裝MinGW-W64

Windows MinGW DOWNLOAD

在這里插入圖片描述

安裝過程請注意自己的電腦是32還是64位的,其他的默認就可以了。還要額外注意下自己的下載地址后面要用。

在這里插入圖片描述

然后打開我的電腦->屬性->高級系統(tǒng)設置->環(huán)境變量

在這里插入圖片描述

選擇新建,添加剛剛記住的E:\vs code\mingw\mingw64\bin確定后退出,注意這個應該是你自己的安裝地址

檢查一下自己是否安裝配置完成
打開命令提示符輸入

gcc -v

在這里插入圖片描述

配置vs code

在這里插入圖片描述

找一個文件夾作為你的工作區(qū),然后在這個工作區(qū)下建立一個新的文件夾,命名為.vscode,注意點是不能缺少的。然后在你建立的.vscode文件夾下建立三個.json文件,分別為tasks.json,launch.json,c_cpp_properties.json。

配置內容如下:

tasks.json

{
 "version": "2.0.0",
 "command": "g++",
 "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasename}.exe"],
 "problemMatcher": {
 "owner": "cpp",
 "fileLocation": ["relative", "${workspaceRoot}"],
 "pattern": {
 "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
 "file": 1,
 "line": 2,
 "column": 3,
 "severity": 4,
 "message": 5
 }
 }
}

launch.json

{
 "version": "0.2.0",
 "configurations": [
 {
 "name": "C++ Launch (GDB)", 
 "type": "cppdbg", 
 "request": "launch", 
 "targetArchitecture": "x86", 
 "program": "${workspaceRoot}\\${fileBasename}.exe", 
 "miDebuggerPath":"E:/vs code/mingw/mingw64/bin/gdb.exe", 
 "args": [], 
 "stopAtEntry": false, 
 "cwd": "${workspaceRoot}", 
 "externalConsole": true, 
 "preLaunchTask": "g++"   
 }
 ]
 }

c_cpp_properties.json

{
 "configurations": [
 {
 "name": "Win32",
 "includePath": [
 "${workspaceRoot}",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
 "E:/vs code/mingw/mingw64/x86_64-w64-mingw32/include"
 ],
 "defines": [
 "_DEBUG",
 "UNICODE",
 "__GNUC__=6",
 "__cdecl=__attribute__((__cdecl__))"
 ],
 "intelliSenseMode": "msvc-x64",
 "browse": {
 "path": [
 "${workspaceRoot}",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
 "E:/vs code/mingw/mingw64/x86_64-w64-mingw32/include"
 ]
 },
 "limitSymbolsToIncludedHeaders": true,
 "databaseFilename": "",
 "compilerPath": "E:\\vs code\\mingw\\mingw64\\bin\\gcc.exe",
 "cStandard": "c11",
 "cppStandard": "c++17"
 }
 ],
 "version": 4
}

其中尤為需要注意的就是那些安裝位置,配置的時候請參考我的來找到你自己安裝的位置。
還有就是在一些地址輸入不能用\分割要用/或者\\
例如:E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++

E:/vs code/mingw是我安裝時自己選的文件夾,從mingw64開始均為安裝時自己出現的文件,所以請不要直接復制粘貼,注意自己的安裝位置。

這樣基本就配置完了,測試一下經典的Hello World

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

直接F6運行,或者選擇在return 0處加個斷點再F5,都能成功測試是否配置完成。不過加斷點輸出的那個會比較好看=.=

當然估計在配置過程中問題是少不了的。如果有我未提到的問題,你可以發(fā)給我郵件tanjinxiao25@gmail.com,我推薦你直接在GitHub的倉庫里添加issue。因為我不能保證自己能夠徹底的解決,但是在issues里總有大佬會回答問題的。

到此這篇關于vs code 配置c/c++環(huán)境的詳細教程(推薦)的文章就介紹到這了,更多相關vs code 配置c/c++環(huán)境內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++中關于互斥量的全面認知

    C++中關于互斥量的全面認知

    線程的主要優(yōu)勢在于,能夠通過全局變量來共享信息。不過,這種便捷的共享是有代價的:必須確保多個線程不會同時修改同一變量,或者某一線程不會讀取正由其他線程修改的變量。為了防止出現線程某甲試圖訪?問一共享變量時,線程某乙正在對其進行修改。引入了互斥量
    2022-05-05
  • c++中的static修飾符示例詳解

    c++中的static修飾符示例詳解

    在c++中,靜態(tài)成員是屬于整個類而不是某個對象,靜態(tài)成員變量只存儲一份供所有對象共用,下面這篇文章主要給大家介紹了關于c++中static修飾符的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • C語言實現運籌學中的馬氏決策算法實例

    C語言實現運籌學中的馬氏決策算法實例

    這篇文章主要介紹了C語言實現運籌學中的馬氏決策算法,簡單介紹了馬氏決策的概念,并結合實例形式分析了C語言實現馬氏決策算法的具體實現技巧,需要的朋友可以參考下
    2017-09-09
  • 詳解C++ 拷貝構造函數

    詳解C++ 拷貝構造函數

    這篇文章主要介紹了C++ 拷貝構造函數的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C++ const關鍵字分析詳解

    C++ const關鍵字分析詳解

    C++中的const關鍵字的用法非常靈活,而使用const將大大改善程序的健壯性。這篇文章主要介紹了C/C++ 中const關鍵字的用法,需要的朋友可以參考下
    2021-08-08
  • c語言內存泄露示例解析

    c語言內存泄露示例解析

    從1988年著名的莫里斯蠕蟲 攻擊到有關 Flash Player 和其他關鍵的零售級程序的最新安全警報都與緩沖區(qū)溢出有關:“大多數計算機安全漏洞都是緩沖區(qū)溢出”,Rodney Bates 在 2004 年寫道
    2013-09-09
  • C語言實現彈跳小球

    C語言實現彈跳小球

    這篇文章主要為大家詳細介紹了C語言實現彈跳小球,設置了小球分數及過關難度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++ string與int的相互轉換(使用C++11)

    C++ string與int的相互轉換(使用C++11)

    本文主要介紹了C++ string與int的相互轉換(使用C++11),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 利用Matlab繪制好看的旋轉九邊形

    利用Matlab繪制好看的旋轉九邊形

    這篇文章主要為大家介紹了如何利用Matlab繪制超好看的旋轉九邊形。文中的示例代碼講解詳細,對我們學習Matlab有一定幫助,需要的可以參考一下
    2022-03-03
  • VC打印word,excel文本文件的方法

    VC打印word,excel文本文件的方法

    這篇文章主要介紹了VC打印word,excel文本文件的方法,是VC操作文本文件中非常實用的技巧,需要的朋友可以參考下
    2014-10-10

最新評論

尼木县| 瑞金市| 新龙县| 镇江市| 浦东新区| 沙洋县| 吉隆县| 三亚市| 鹿邑县| 河西区| 清涧县| 绥芬河市| 商洛市| 巴彦淖尔市| 肥东县| 邵阳市| 宾阳县| 革吉县| 丹棱县| 济阳县| 苏尼特左旗| 昆明市| 邻水| 三原县| 勐海县| 汨罗市| 江源县| 五华县| 台江县| 中西区| 凤城市| 云和县| 筠连县| 高雄市| 罗田县| 盈江县| 凤台县| 调兵山市| 彰化县| 金塔县| 阿拉善盟|