2、在vscode上创建第一个C++多文件编译工程(即如何添加task.json和launch.json文件到工程里面)

news2024/11/15 17:49:51

文章目录

  • 1、新建一个工程目录
  • 2、在vscode打开刚建立的工程目录,建立cpp文件
  • 3、设置C/C++编译的选项:c_cpp_properties.json
    • (1)鼠标点在.c的源文件内部,按 Ctrl+Shift+p 快捷键,在弹出的界面中选择: [C/C++:编配置(UI)],然后进入设置页面。
    • (2)选择g++编译器
    • (3)选择GCC-X64版本
    • (4)这时候你可以发现在工程目录下自动生成了一个.vscode文件夹,里面生成了c_cpp_properties.json
  • 4、在终端中选择配置任务,生成task.json文件
    • (1)选择配置任务
    • (2)选择g++.exe
  • 5、修改task文件,实现多文件编译与生成文件的自定义命名
  • 6、此时可以点击生成可执行文件
  • 7、添加launch.json文件进行调试
    • (1)创建launch.json文件:鼠标点在.c的源文件内部,然后进行如下操作
    • (2)选择C++(GDB/LLDB)
    • (3)添加配置:选择C/C++(gdb)launch
    • (4)然后生成了launch.json配置文件
  • 8、修改launch.json文件,适配相应的工程环境
    • (1)修改调试程序的路径:把task.json生成可执行文件的路径复制到program
    • (2)把gdb的路径更新
    • (3)添加preLaunchTask选项:为运行调试前执行的任务,与task.json的label一致
    • (4)最终修改完成后的launch.json文件如下
  • 9、此时可以直接添加断点后,按F5开始调试

1、新建一个工程目录

在这里插入图片描述

2、在vscode打开刚建立的工程目录,建立cpp文件

这里使用两个cpp文件,实现多文件编译在这里插入图片描述

3、设置C/C++编译的选项:c_cpp_properties.json

(1)鼠标点在.c的源文件内部,按 Ctrl+Shift+p 快捷键,在弹出的界面中选择: [C/C++:编配置(UI)],然后进入设置页面。

在这里插入图片描述

(2)选择g++编译器

在这里插入图片描述

(3)选择GCC-X64版本

在这里插入图片描述

(4)这时候你可以发现在工程目录下自动生成了一个.vscode文件夹,里面生成了c_cpp_properties.json

在这里插入图片描述

4、在终端中选择配置任务,生成task.json文件

(1)选择配置任务

在这里插入图片描述

(2)选择g++.exe

在这里插入图片描述
此时会自动生成了task.json文件

5、修改task文件,实现多文件编译与生成文件的自定义命名

添加多文件编译路径与自定义生成文件名
在这里插入图片描述

6、此时可以点击生成可执行文件

在这里插入图片描述
在这里插入图片描述

7、添加launch.json文件进行调试

(1)创建launch.json文件:鼠标点在.c的源文件内部,然后进行如下操作

在这里插入图片描述

(2)选择C++(GDB/LLDB)

在这里插入图片描述

(3)添加配置:选择C/C++(gdb)launch

在这里插入图片描述

(4)然后生成了launch.json配置文件

在这里插入图片描述

8、修改launch.json文件,适配相应的工程环境

(1)修改调试程序的路径:把task.json生成可执行文件的路径复制到program

在这里插入图片描述

(2)把gdb的路径更新

在这里插入图片描述

(3)添加preLaunchTask选项:为运行调试前执行的任务,与task.json的label一致

在这里插入图片描述

(4)最终修改完成后的launch.json文件如下

在这里插入图片描述

9、此时可以直接添加断点后,按F5开始调试

在这里插入图片描述

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

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

相关文章

RK3568平台开发系列讲解(Linux系统篇)Linux 内部的全景图

🚀返回专栏总目录 文章目录 一、Linus 是谁二、Linux 内核全景图三、漫画:Linux 内核都有啥沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起认识这样一个计算机黑客,看看他是怎样创造出影响世界的 Linux,然后进一步了解一下 Linux 的内部结构。 一、…

从0学习stm32第二天

1.存储器结构 程序存存储器,数据存储器,寄存器和输入输出端口,被组织在同一个4G的线性地址空间中; 可以通过地址的方法访问对应的存储器或寄存器; 比如 0X12 34 56 78在内存中存储 低地址----------------------…

vue3组合式API和vite+ts

创建项目 npm create vitelatest . 选择ts版本 直接安装依赖项目启动 vite项目配置路径 cnpm i --save-dev types/node 让ts项目支持node环境 vite构建工具中配置了路径加载组件 import HelloWorld from "/components/HelloWorld.vue"; 界面显示正常 引入文件路径报错…

STM32嵌入式面试知识点总结

一、STM32F1和F4的区别? 解答: 参看:STM32开发 – STM32初识 内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核; 主频不同:F1主频72MHz,F4主频168MHz; 浮点运算&#xff…

midjourney入口是什么?怎么使用midjourney

最近有很多小伙伴在咨询我midjourney的事情,因为他们看过midjourney的神奇能力,忍不住想玩一下,都在问midjourney要去哪里玩?midjourney入口是什么?小编觉得今天有必要来给大家详细的说说。 一.midjourney是什么 Midj…

Kafka消息发送流程

消息发送高阶用法 自定义拦截器 自定义序列化 自定义分区器 核心参数 https://kafka.apache.org/0110/documentation.html 参数名描述默认值bootstrap.servers格式为host1:port1,host2:port2,…key.serializervalue.serializerretries0retry.backoff.ms上次发送失败&…

【数据结构与算法】快速排序的非递归实现方法

目录 一.前言 二.非递归实现 一.前言 如果数据量过大的话,不断递归就会出现栈溢出的现象,这个时候你的代码是没问题的,但就是跑不起来,这个时候就要把递归改成非递归。 一般有两种改法: 1.直接改,利用循环…

Kafka---Kafka安装(单机版)

Kafka安装(单机版) 文章目录Kafka安装(单机版)上传压缩包解压更名配置文件修改myid启动zookeeper启动kafka创建topic查看消息队列查看消息队列详情生产消息消费消息查询指定对列消息数量上传压缩包 将压缩包上传到/opt/install …

Spring —— Spring Boot 日志文件

JavaEE传送门JavaEE Spring —— Spring Boot 创建和使用 Spring —— Spring Boot 配置文件 目录Spring Boot 日志文件Spring Boot 使用日志得到日志对象使用日志对象打印日志日志级别日志级别作用日志级别的分类日志级别设置日志持久化更简单的日志输出 (lombok)Spring Boo…

全网最详细,Jmeter性能测试-性能进阶, 数据驱动将融入性能测试(五)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 本节或者后面都可能…

【汇总版】计算机组成原理思维导图

目录导读与总结汇总思维导图导读与总结 这是一份涵盖计算机组成原理基础知识的思维导图,它包括计算机系统的层次结构、指令和指令执行、CPU的组成和工作原理、存储器的层次结构和管理、输入输出设备的原理和接口、以及汇编语言的基础知识。通过这份思维导图&#x…

Zookeeper源码分析——ZK服务端初始化源码解析

持久化源码 快照 public interface SnapShot {/*** deserialize a data tree from the last valid snapshot and * return the last zxid that was deserialized* 反序列化方法*/long deserialize(DataTree dt, Map<Long, Integer> sessions) throws IOException;/*** …

在Linux中搭建Apache和多个版本PHP源码的集群

ApachePHP安装在公网IP为x.x.x.x的服务器上 需要下载安装的软件版本&#xff1a;httpd-2.4php-5.6php-7.4php-8.0 安装httpd 第一步&#xff0c;查看Linux系统中是否安装了apache。 命令&#xff1a;rpm -qa | grep httpd 若已经安装了&#xff0c;则需要使用命令“yum -y…

前端学习:HTML图像、表格、列表

目录 图像 一、图像标签和源属性(Src) 二、替换文本属性(Alt) 三、设置图片样式基本属性 四、图像标签 表格 一、标签 补充: 二、表格的表头 三、表格常用标签和属性 标签 属性 列表 一、无序列表 二、有序列表 三、定义列表 四、列表常用标签属性 图像 一、…

MATLAB三相LCL滤波型PWM逆变器仿真设计matlab代码(链接在文章结尾)

MATLAB三相LCL滤波型PWM逆变器仿真设计 参考并网电流外环电容电流前馈内环的双闭环控制结构&#xff0c;可以用于光伏和风力发电网侧变换器中进行改造。 三相逆变器通常采用三相桥式逆变电路&#xff0c;采用IGBT作为开关器件的电压型三相桥式逆变电路 在并网逆变器系统中,滤波…

MySQL数据库学习笔记(七)实验课三之拼命的李绿

一来就是实验课三了&#xff0c;那么实验课二呢&#xff1f;实验课二是装配mysql环境那些东西&#xff0c;而我们在前面的笔记中也有关于配置环境的&#xff0c;所以在这里就不再赘述了。 文章目录注意&#xff1a;1&#xff0c;本地文件导入2&#xff0c;数据范围3&#xff0c…

paddle 进行数字识别 (使用ocr数据集)

要点&#xff1a; 喵了个喵&#xff0c;没使用 OCR参考文档&#xff1a; PaddleOCR数字仪表识别——2.数据合成及数据集制作_数字仪表数据集https://blog.csdn.net/castlehe/category_10459202.html?spm1001.2014.3001.5482最佳参考&#xff1a; 基于PaddleOCR的数字显示器字…

SpringBoot ElasticSearch 【SpringBoot系列16】

SpringCloud 大型系列课程正在制作中&#xff0c;欢迎大家关注与提意见。 程序员每天的CV 与 板砖&#xff0c;也要知其所以然&#xff0c;本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 elasticsearch是一款非常强大的开源搜索引擎&a…

Logstash:部署和扩展 Logstash

Elastic Stack 用于大量用例&#xff0c;从操作日志和指标分析到企业和应用程序搜索。 确保你的数据可扩展、持久且安全地传输到 Elasticsearch 非常重要&#xff0c;尤其是对于任务关键型环境。 本文档的目的是强调 Logstash 最常见的架构模式以及如何随着部署的增长而有效扩…

c++学习之c++对c的扩展2

目录 1.c/c中的const 1 const概述 2 c/c中const的区别 c中的&#xff1a; c中的const&#xff1a; c/c中的const异同 c中const修饰的变量,分配内存情况 尽量以const替换define 2.引用 函数的引用&#xff1a; 引用的本质 指针的引用 5 常量引用 内联函数 内联函数…