VSCode 配置 C/C++ 环境

1 安装 VSCode

直接去官网(https://code.visualstudio.com/)下载并安装即可。
在这里插入图片描述

2 配置C/C++编译环境

  • 方案一
    如果是在Windows,需要安装 MingW,可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。
    注意安装路径不要出现中文。
    在这里插入图片描述

    打开 windows shell 界面,输入mingw-get install gccmingw-get install g++
    如果安装的时候提示安装包被错误下载,可使用方案二安装。

  • 方案二
    进入网址https://sourceforge.net/projects/mingw-w64/files/,下滑,下载图中所示压缩包。
    在这里插入图片描述

    找一个无中文路径解压缩。
    添加环境变量。在Path中加入解压后的文件夹中的bin目录,如C:\ProgramFiles\MinGW\mingw64\bin。
    在这里插入图片描述

    在这里插入图片描述

  • 测试
    在 windows shell 界面输入gcc -vg++ -v,正确出现版本号则配置成功。

3 安装插件

搜索插件 C/C++ 和 Code Runner 并安装。
在这里插入图片描述

在这里插入图片描述

4 编辑配置文件

首先新建一个文件夹,并用 VSCode 打开。
在该文件夹中创建名为 .vscode 的文件夹。
在该文件夹中创建下面几个文件。以后的C/C++代码文件必须放在这个Code文件夹里,或者说有.vscode文件夹的文件夹里。

  1. c_cpp_properties.json
    将 compilerPath 换成你的g++路径。
    {"configurations": [{"name": "Win64","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG", "UNICODE", "_UNICODE"],"windowsSdkVersion": "10.0.18362.0","compilerPath": "C:\\MinGW\\bin\\g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],"version": 4
    }
    
  2. launch.json
    将 miDebuggerPath 换成你的gdb路径。
    {"version": "0.2.0","configurations": [{"name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false,"cwd": "${workspaceRoot}","environment": [],"externalConsole": true, "MIMode": "gdb","miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe","preLaunchTask": "g++","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
    }
    
  3. settings.json
    {"json.schemaDownload.enable": false,"files.associations": {"*.py": "python","iostream": "cpp","*.tcc": "cpp","string": "cpp","unordered_map": "cpp","vector": "cpp","ostream": "cpp","new": "cpp","typeinfo": "cpp","deque": "cpp","initializer_list": "cpp","iosfwd": "cpp","fstream": "cpp","sstream": "cpp","map": "c","stdio.h": "c","algorithm": "cpp","atomic": "cpp","bit": "cpp","cctype": "cpp","clocale": "cpp","cmath": "cpp","compare": "cpp","concepts": "cpp","cstddef": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cstring": "cpp","ctime": "cpp","cwchar": "cpp","exception": "cpp","ios": "cpp","istream": "cpp","iterator": "cpp","limits": "cpp","memory": "cpp","random": "cpp","set": "cpp","stack": "cpp","stdexcept": "cpp","streambuf": "cpp","system_error": "cpp","tuple": "cpp","type_traits": "cpp","utility": "cpp","xfacet": "cpp","xiosbase": "cpp","xlocale": "cpp","xlocinfo": "cpp","xlocnum": "cpp","xmemory": "cpp","xstddef": "cpp","xstring": "cpp","xtr1common": "cpp","xtree": "cpp","xutility": "cpp","stdlib.h": "c","string.h": "c"},"editor.suggest.snippetsPreventQuickSuggestions": false,"aiXcoder.showTrayIcon": true
    }
    
  4. tasks.json
    {"version": "2.0.0","tasks": [{"label": "g++","command": "g++","args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.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}},"group": {"kind": "build","isDefault": true}}]
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu-18.04本地化部署Rustdesk服务器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置防火墙二、安装三大件1.下载三大件2.安装三大件 三、安装客户端1.下载客户端1.Windows2.Linux 四、配置客户端连接服务器五、总结 前言 如果你是想数据…

JEECG表格选中状态怎么去掉

官网代码(在取消选中状态的时候不生效) rowSelection() {return {onChange: (selectedRowKeys, selectedRows) > {console.log(selectedRowKeys: ${selectedRowKeys}, selectedRows: , selectedRows);},getCheckboxProps: record > ({props: {disa…

数据结构系列-堆排序

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 昨天我们实现的堆的搭建,我们今天实现以下堆的排序, 堆的排序的最大的优点就是提高的效率,减小了时间复杂度,在这个里面我们有一个…

面试十八、容器适配器

容器适配器是一种特殊类型的容器,它们提供了一种不同于常规容器的接口和行为。容器适配器通常是建立在其他容器之上,通过改变接口或添加限制来满足特定的需求或解决特定的问题。 在 C 中,标准库提供了三种常见的容器适配器: 栈&am…

Web3钱包开发获取测试币-Polygon Mumbai(一)

Web3钱包开发获取测试币-Polygon Mumbai(一) 由于主网区块链上的智能合约需要真正的代币,而部署和使用需要花费真金白银,因此测试网络为 Web3 开发人员提供了一个测试环境,用于部署和测试他们的智能合约,以识别和修复在将智能合约…

边缘渲染是什么意思?属于云渲染吗?

边缘渲染,即利用靠近数据源或用户的边缘计算资源进行渲染,以减少数据传输延迟并提升处理速度。这种方式虽然基于云技术,但更注重数据处理的地理位置优化,与传统的云渲染有所不同。 一、边缘渲染属于什么意思? 边缘渲染是一种基于…

周鸿祎和雷军、马化腾相逢一笑泯恩仇

关注卢松松,会经常给你分享一些我的经验和观点。 马云竟然没有到场,真是遗憾! 前两天工信部和互联网协会联合举办的中国互联网三十周年座谈会上。周鸿祎、雷军、马化腾相逢一笑泯恩仇。 第一条视频: 周鸿祎和马化腾握手言欢&#xff0c…

一道有意思的面试题

面试过程中没有想到合适的数据结构,想了半天,构思没有实践落地。 也是听错了,以为三道题都要做,做出来了两道,这道死活没落地成功。 结果,三道题里面任选一道就行。。。。 好吧 题目:给定一个…

对接浦发银行支付(八)-- 对账接口

一、背景 本文不是要讲述支付服务的对账模块具体怎么做,仅是介绍如何对接浦发银行的对账接口。 也就是说,本文限读取到对账文件的内容,不会进一步去讲述如何与支付平台进行对账。 如果要获取商户的对账单,需要遵循以下步骤&…

【从浅学到熟知Linux】进程间通信之匿名管道方式(进程间通信方式汇总、匿名管道的创建、匿名管道实现进程池详解)

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 进程间通信介绍如何实现进程间通信进程间通信分类 管道通信方式什么是管道匿名管道pipe匿名管道读写规则管…

PMP®证书适合哪些岗位?哪些人适合报考?

PMP无处不在,不受岗位限制,因为项目管理思维都是相通的,就算你不想从事项目管理工作,也能应用到其他领域内。 当时报考PMP的人群中某些行业和岗位相对而言会多一些,本文就给大家介绍一下哪些行业、岗位的人群适合报考…

echarts折线图默认不显示数据圆点,鼠标划上之后折线图才显示圆点

只需要设置showSymbol为false就可以了,表示只在 tooltip hover 的时候显示。 代码如下: option {tooltip: {trigger: axis},xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224…

Acrobat Pro DC 2021:强大的PDF编辑软件

Acrobat Pro DC 2021是Adobe公司推出的一款全面而强大的PDF编辑软件,凭借其卓越的性能和丰富的功能,成为了PDF编辑领域的领军者。 Acrobat Pro DC 2021中文激活版下载 这款软件具备全面的PDF编辑功能,包括文本编辑、图片处理、页面组织等&…

单例模式与反射创建对象

单例模式 饿汉式单例模式 单例模式,就是自己先把自己创建了,整个程序都只有这一个实例,别人都没有办法创建实例,因为他的构造方法是private的 一次性把全部都创建了 public class HungryMan {private static int [][] s new …

接口压力测试 jmeter--增强篇(二)

前期准备 1. JMeter的插件的安装 下载Jmeter Plugins Manager对插件进行管理 (1)下载地址:https://jmeter-plugins.org/install/Install/ (2)下载后,将jar包放到jmeter包目录下/lib/ext目录下 &#xff0…

CUDA编程---线程束洗牌指令

从Kepler系列的GPU(计算能力为3.0或更高)开始,洗牌指令(shuffle instruction)作为一种机制被加入其中,只要两个线程在相同的线程束中,那么就允许这两个线程直接读取另一个线程的寄存器。 洗牌指…

清华大学:序列推荐模型稳定性飙升,STDP框架惊艳登场

获取本文论文原文PDF,请公众号留言:论文解读 引言:在线平台推荐系统的挑战与机遇 在线平台已成为我们日常生活中不可或缺的一部分,它们提供了丰富多样的商品和服务。然而,如何为用户推荐感兴趣的项目仍然是一个挑战。…

【笔记】Telephony SIM SPN及运营商名称显示数据来源介绍

来源介绍 网络名称显示 来源及优先级(高到低) SourceCommentEnhanced Operator Name String(Eons) 名称信息存放: EF_PNN(PLMN Network Name, fid: 6FC5) :LAC和EF_PNN中的Record Identifier EF_OPL(Operator PLMN List, fid: 6FC…

67条tips实战案例渗透测试大佬的技巧总结

67条tips实战案例渗透测试大佬的技巧总结。 Tips 1. 手动端口探测 nmap的-sV可以探测出服务版本,但有些情况下必须手动探测去验证 使用Wireshark获取响应包未免大材小用,可通过nc简单判断 eg. 对于8001端口,nc连接上去,随便输…

GlobalFilter全局过滤器

这个跟跟刚才那个GatewatFilert默认全局配置的效果是一样的,但是那个是配置,只能使用已有的进行配置,GlobalFilter全局过滤器是通过类实现的 可以自己用代码实现拦截后要处理的逻辑。 定义方式: 先实现GlobalFilter接口&#xf…