在Linux上使用vscode编译调试C/C++代码

使用vscode在linux平台开发C++程序(1)(包括cmake,gdb) 写这篇博客主要目的是记录以下几个知识点,接下来一个接一个介绍其概念与用法。 1,认识并使用vscode 2,使用g++编译运行一个多文件C++工程 3,使用cmake编译一个多文件C++工程 4,在cscode上面编译运行一个多文件C++工程 5,在vscode上面调试一个多文件C++工程 6,不用vscode直接使用gdb调试一个多文件C++工程 7,在vscode上直接调试一个C++工程与在vscode上使用gdb调试一个C++工程相结合 1,认识并使用vscode 1)vscod下载,可以进官网下载, 阅读详情

在linux下搬砖C/C++的姿势有点辛苦,所以想着是不是可以用更优雅一些的姿势搬砖,尤其是debug。然而,如果我们用CMake来组织工程(因为我们已经大量的使用了CMake文件来组织工程),那么就不只是涉及vscode设置的问题。

主要参考如下链接(官方文档):
Using C++ on Linux in VS Code(https://code.visualstudio.com/docs/cpp/config-linux)

一,需要用到的东西

(1)GCC(g++)作为编译器
(2)GDB作为调试器
(3)VS code作为编辑器,可以下载相关的扩展插件(C/C++插件,CMake插件),从而组织成IDE使用
(4)CMake用于处理依赖,组织工程文件

二、编译和调试

按照参考官方网页里的介绍,简单的编译设置非常简单。
(1)安装C/C++插件
(2)Terminal->Configure default build task 自动生成tasks.json文件(较大的工程,就在于组织tasks了)
(3)Ctrl+Shift+B编译出可执行文件

对应的设置,会生成相应的配置文件,文件写的好,一次生成,多处使用即可:
tasks.json (compiler build settings)

主要是调试上会方便很多,主要是对上层应用程序开发过程的调试和问题定位,很直观的断点设置,单步执行等。也会生成对应的设置文件,一次生成,多处使用:
launch.json (debugger settings)

三、cmake插件编译+vscode调试

既然打算用CMake了,其实简单编译的tasks.json和launch.json可以省了,各种依赖如果已经组织好,在VScode里编译起来就很简单了。当然在命令行里用CMake组织好的工程,编译也很简单,mkdir & cd build, cmake …, make 就可以了。
在VScode里面操作的话,对于组织好cmake的

基于VSCode和CMake进行C/C++开发(Linux) Linux是开源的操作系统。 阅读详情

相关推荐

Linux 使用VS Code编译调试C++项目

帮助大家了解Linux中C++的编译过程,熟悉Make的用法,最终通过VS Code实现在Linux环境中开发C++项目

iNamePro的博客 1279

详解Linux下使用vscode编译运行和调试C/C++

本教程将具体详解使用Visual Studio Code在Linux环境下使用C/C++方法。 GCC C++ 编译器 (g++) 和 GDB 调试器的方法。 GCC是GNU 编译器集合; GDB 是 GNU 调试器。 1.先决条件 安装Visual Studio Code. 安装C++拓展插件。点击在vscode界面最左侧的Extensions图标(打开快捷键:ctrl+shift+X),搜索“C/C++”,点击进行安装。 确保已安装gcc. 一般ubuntu系统会预装gcc.在终端窗口中输入如下命令

休的博客 6232

28377D Bootloader

架构

a6100309120的博客 6009

CSP-J/S复赛文件组织与freopen读写全攻略,避免爆零

在信息学竞赛的上机考试中,代码能力固然重要,但文件组织与输入输出重定向往往是决定成败的关键细节。许多选手习惯在线评测环境,对本地文件命名、目录层级和读写方式缺乏系统认知,导致算法正确却因文件名拼写错误或freopen使用不当而遗憾失分。理解评测系统的工作原理,掌握从建立准考证号目录到规范命名源文件,再到使用freopen进行文件流重定向的标准流程,是每位参赛者的必备技能。这种工程化习惯不仅适用于CSP-J/S复赛,也是未来参加NOI等更高水平竞赛的基础。本文从文件组织的底层逻辑出发,结合实战案例,系统讲解考

weixin_32466193的博客 584

“迎圣诞,拿大奖” 活动赛题 Web-SQLi

1. php中sprintf()函数漏洞原理及其利用; 2. mysql盲注语法及python脚本; 3. sqlmap的需要进一步学习;

qq_34106499的博客 673

DRM驱动架构浅析-上(DRM基础概要与U-Boot阶段驱动解析)

本文主要探讨了Rockchip平台的DRM显示驱动架构及其在U-Boot阶段的实现。

一路寒风身如絮,命海沉浮客独行 1761

物联网设备数据是如何流转的:基于EMQX与TDengine的前后端分离项目实践

背景 在我写了TDengine极简实战:从采集到入库,从前端到后端,体验物联网设备数据流转这篇文章后,不少读者朋友评论、私信说可不可以提供代码参考学习下,那必须是可以的。那篇文章主要介绍了数据采集、数据传输、数据转发、数据解析、数据存储、数据查询、数据呈现、数据导出、消息推送的物联网设备数据流程过程,作为体验 TDengine 的极简实战项目,没引入过多的业务设计(复杂功能)以及异步解耦设计(消息中间件)。 在整理代码的过程中,我发现虽然整个项目并不复杂,但是涉及到的技术点较多,有必要对关键的组件进行说明

Heartsuit的博客 9408

Linux系统安全学习手册

Linux反弹shell Linux系统应急响应 Linux服务器安全加固 Linux下的用户、组和权限 Linux中的gcc Linux中su和sudo的用法和区别 Linux系统python2与python3共存 Linux中grep工具的使用 Linux中环境变量的设置 Linux中常见的150个命令(干货) Linux中编写Shell脚本 LNMP环境搭建Wordpress博客 LAMP环境搭建一个Discuz论坛 Linux运维比较常用的一些脚本 Linux系统中安装软

谢公子的博客 7532

【目标检测】IoU(交并比)详解及代码实现

1. IOU概述        IoU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率-,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 2. IoU计算        IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实

Roaddd的博客 2万+

Altium Designer(AD)仿真实验操作指南

1:运行仿真2:设置仿真3:放置电源模块4:放置器件模块5:探针。

XU157303764的博客 8885

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 使用nvidia-smi的主要关注点
下一篇: CMake上手:学习和练习案例素材
liwenkaitop
博客等级 码龄8年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值