关于使用vscode搭建c/c++编程环境

目录

    • 关于使用vscode搭建c/c++编程环境
      • 一、前言
      • 二、安装 IDE
    • 二、安装TDM-GCC安装
    • 三、安装C/C++环境
    • 四、编写代码并进行编译

关于使用vscode搭建c/c++编程环境

一、前言

一直觉得vscode是生产强有力的生产工具,基于此,做一篇学习笔记进行记录。

二、安装 IDE

访问[vscode官网](Visual Studio Code - Code Editing. Redefined)

在这里插入图片描述

根据操作系统选择相应版本的 VS Code 进行下载和安装。

二、安装TDM-GCC安装

访问:

[TDM-GCC安装](Download | tdm-gcc (jmeubank.github.io))

选中

在这里插入图片描述

下载完对应的资源之后,傻瓜式安装即可。TDM-GCC会自动加入环境变量。

三、安装C/C++环境

  1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。
  2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。

在这里插入图片描述

四、编写代码并进行编译

我这里是打开一个了已有的代码,编写完成之后,配置一下对应的launch.json文件,launch.json文件是用来配置和自定义调试会话的关键。

在这里插入图片描述

launch.json的内容如下:

{"configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\TDM-GCC-64\\bin\\gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],// "preLaunchTask": "C/C++: g++.exe 生成活动文件",}],"version": "2.0.0"
}

在弄一个tasks.json的文件,内容如下:

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "C:\\TDM-GCC-64\\bin\\gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "gdb调试器生成的任务。"},{"type": "cppbuild","label": "C/C++: g++.exe 生成活动文件","command": "C:\\TDM-GCC-64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "gdb调试器生成的任务。"}],"version": "2.0.0"
}

其中对应的路径文件需要根据自己电脑安装的路径进行替换,我一般使用Everything来进行搜索一下,可以快速找到对应的gdb.exe路径用来进行替换

在这里插入图片描述

设置好了之后,最终 Vscode 工程目录结构如下,测试代码来自 hello-algo,在此感谢大佬 @Krahets

在这里插入图片描述

其他文件省略展示

打开一个.c的文件,进行调试:

在这里插入图片描述

打开一个.cpp的文件,进行调试看看:

在这里插入图片描述

经过实验,可以进行调试输出,是一次成功的实践。

有时候打开别人的代码时,看到中文乱码,我这也一并进行记录一下,方便后期查阅,打开设置按键,找到编辑器,找到文本,找到Encoding的选项,进行选择。

在这里插入图片描述

本文完!!

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

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

相关文章

服务器停止解析域名,但仍然可以访问到

1.centos7 如何刷新dns缓存 在CentOS 7上,DNS缓存由nscd(Name Service Cache Daemon)管理,如果系统上安装了nscd,可以通过清除nscd缓存来刷新DNS缓存。 要刷新DNS缓存,请执行以下命令: sudo …

IPD推行成功的核心要素(一)什么企业需要和适合IPD?

IPD,全称为“Integrated Project Delivery”,即集成产品开发。它是一种全新的项目管理方法,目前已经应用到了各行各业的项目管理中。IPD是一种以协同合作为核心的工作模式,在这种模式下,项目中的所有相关方在项目的整个…

如何使用免费的ChatGpt3.5

如何使用免费的ChatGpt 最近免费的gpt3.5很多都不怎么行了实在是太给力了尾声 最近免费的gpt3.5很多都不怎么行了 原因是什么呢?因为openai已经取消了免费的5刀赠送,那么这些人手上的免费的sses-key 用完后,就基本上全军覆没了,再…

校园招聘管理系统(源码+文档)

校园招聘管理系统(小程序、ios、安卓都可部署) 文件包含内容程序简要说明含有功能项目截图客户端热门岗位校园招聘首页个人简历添加个人简历我的界面注册界面查看个人简历界面个人资料界面登录界面消息界面退出登录 管理端登录界面![请添加图片描述](htt…

Python保留字与obspy安装

保留字: 被编程语言内部定义并保留使用的标识符。Python有33个保留字 andelifimportraiseglobalaselseinreturnnonlocalassertexceptistryTrue breakfinallylambdawhileFalseclassfornotwithNonecontinuefromoryielddefifpassdel 最近在安装obspy时经常&am…

预处理指令——那些你可能不知道的概念

前言:预处理是我们的c语言源代码成为可执行程序的第一个步骤。而宏和预处理指令都是在这个阶段完成。本节内容就是关于宏和预处理指令相关知识点的解析。 目录 宏 预定义符号 #define定义常量 #define定义符号 #define定义宏 带副作用的宏参数 宏的替换规则…

给虚拟机配置静态IP并使用FileZIlla在虚拟机和Windows之间传输文件(ssh和ftp两种方法)

一、配置操作系统网络 🌸下面的步骤主要是配置虚拟机的静态IP,方便后续用 FikeZilla 在windows和虚拟机之间传输文件(否则用默认的ip分配方案为 DHCP ,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.&#xf…

mysql执行脚本导入表和数据后中文注释乱码解决

本人在使用不同版本下进行操作时,就会出现中文乱码的问题。例如我本地安装mysql8,服务器安装的是mysql5,然后本地连接服务器的mysql后,执行SQL脚本之后发现中文全部乱码 使用工具查看,注释也都是乱码 解决方案 本地…

C语言键盘输入与屏幕输出——数据的格式化键盘输入

目录 数据的格式化键盘输入 输入数据的格式控制 scanf()的格式字符 scanf()的格式修饰符 数据的格式化键盘输入 格式 scanf(格式控制字符串,输入地址表); 输入数据的格式控制 格式 scanf(…

二. Git基础命令

二. Git基础命令 1. 获取 Git 仓库2. 记录每次更新到仓库2.1 检查当前文件状态2.2 跟踪新文件2.3 暂存已修改的文件2.4 忽略文件2.5 查看已暂存和未暂存的修改2.6 提交更新2.7 跳过使用暂存区域2.8 移除文件2.9 移动文件2.10 版本回退 4. 撤消操作4.1 取消暂存的文件4.2 撤消对…

【opencv】教程代码 —ShapeDescriptors

检测和显示图像的轮廓 在图像中搜索并显示轮廓边缘多边形、轮廓矩形和包围圆 获取包含检测到的轮廓的椭圆和旋转的矩形 图像轮廓检测和轮廓凸包 计算图像中的轮廓的矩(包括面积、重心等)并进行显示 创建和绘制一个多边形图像然后计算并显示图像上每个点到…

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参考资料…

代码膨胀会破坏开发操作吗,它将如何影响编译时间?

Incredibuild 正潜心研究公司以及客户的未来发展趋势。 过去的一年举步维艰,但聪明的企业总是能够抓住机遇,将大部分业务自动化,保持敏捷度和竞争力,最佳的案例就是游戏工作室。这一年来,用户对新游戏或新版本的期待达…

困难样本挖掘:Hard Sample Mining

Hard Sample Mining Hard Sample Mining,即困难样本挖掘,是目标检测中的一种常用方法。其主要思想是针对训练过程中损失较高的样本(即那些难以被正确分类的样本)进行挖掘,并将其补充到数据集中重新训练,以…

【React】vite + react 项目,配置项目路径别名 @

vite react 项目,配置项目路径别名 1 安装 types/node2 在 vite.config.ts 中添加配置:3 配置路径别名的提示 使用 vite 开发 react 项目时,可以通过一下步骤配置路径别名: 1 安装 types/node npm i -D types/node2 在 vite.con…

LeetCode-560. 和为 K 的子数组【数组 哈希表 前缀和】

LeetCode-560. 和为 K 的子数组【数组 哈希表 前缀和】 题目描述:解题思路一:一边算前缀和一边统计。这里用哈希表统计前缀和出现的次数,那么和为k的子数组的个数就是当前前缀和-k的个数,即preSums[presum - k]。画个图表述就是&a…

无尘布擦拭过程中的问题及其解决方案

无尘布,作为一种广泛应用于电子、半导体、生物医药等领域的清洁材料,其质量和使用方式直接关系到产品生产的洁净度和质量。然而,在无尘布的擦拭过程中,常常会遇到一些问题,如接触不当的溶剂、胶水选择不当、产品收缩以…

内存管理--柔性数组

本次讲的是,柔性数组,如果哪位小博客想要了解的更多,可以登录下面这个网站,了解详细内容 C语言结构体里的成员数组和指针 | 酷 壳 - CoolShellhttps://coolshell.cn/articles/11377.html 我们就听说过数组,听说过柔性数…

游戏本笔记本更换@添加内存条实操示例@DDR5内存条

文章目录 添加内存条的意义准备工具设备拔出电源适配器并关机👺样机 内存条上的金手指安装过程Notes 安装后开机初次开机速度屏幕显示分辨率和闪烁问题检查安装后的效果 添加内存条的意义 参考双通道内存DDR5多通道内存-CSDN博客 准备工具 准备一个质量差不多的螺…

向量点乘有哪些作用呢

如下: 1.找到两个向量之间的夹角(不用多说) 2.求一个向量投影在另一个向量的投影: 我们把图中b的在a上的投影向量称作b1吧,因为b1就在a上,所以只需要求出b1的大小,然后乘以a的单位向量,我们就得到向量b1了…