vs code中多个c文件的编译、调试,对应的task.json/launch.json文件的设置

目录

0. 容易犯的错误

1. 编译:需要修改原始task.json文件,修改处用加粗表示

2. 调试:需修改launch.json文件

3. 完整配置流程参考


0. 容易犯的错误

注意,不能在同一个文件夹下写两个都包含main()函数的.c文件,这会报 main 函数重复定义的错误。但是可以新建.c文件,写别的函数,然后调用。

注意,不能在同一个文件夹下写两个都包含main()函数的.c文件,这会报 main 函数重复定义的错误。但是可以新建.c文件,写别的函数,然后调用。

注意,不能在同一个文件夹下写两个都包含main()函数的.c文件,这会报 main 函数重复定义的错误。但是可以新建.c文件,写别的函数,然后调用。

如果想要写多个 包含main()函数的 .c文件,可以在工作区新建不同的子文件夹,每个子文件夹至多含一个main()函数的.c文件。

1. 编译:需要修改原始task.json文件,修改处用加粗表示

{

    "tasks": [

        {

            "type": "cppbuild",

            "label": "C/C++: gcc.exe 生成活动文件",

            "command": "E:\\mingw64\\bin\\gcc.exe",

            "args": [

                "-fdiagnostics-color=always",

                "-g",

                // "${file}",

                "${fileDirname}\\*.c",//当前文件夹生成的所有.c文件都编译

                "-o",

                // "${fileDirname}\\${fileBasenameNoExtension}.exe"

                "${workspaceFolder}\\main.exe"//生成的可执行程序名称

            ],

            "options": {

                "cwd": "E:\\mingw64\\bin"

            },

            "problemMatcher": [

                "$gcc"

            ],

            "group": {

                "kind": "build",

                "isDefault": true

            },

            "detail": "调试器生成的任务。"

        }

    ],

    "version": "2.0.0"

}

2. 调试:需修改launch.json文件

{

    // 使用 IntelliSense 了解相关属性。

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "(gdb) 启动",

            "type": "cppdbg",

            "request": "launch",

            // "program": "输入程序名称,例如 ${workspaceFolder}/a.exe",

            // "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",

            "program": "${workspaceFolder}\\main.exe",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${fileDirname}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            // "miDebuggerPath": "/path/to/gdb",

            "miDebuggerPath": "E:\\mingw64\\bin\\gdb.exe",

            "setupCommands": [

                {

                    "description": "为 gdb 启用整齐打印",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true

                },

                {

                    "description": "将反汇编风格设置为 Intel",

                    "text": "-gdb-set disassembly-flavor intel",

                    "ignoreFailures": true

                }

            ]

        }

    ]

}

"program"的参数与task.json文件中的"-o"对应的参数相同;

"miDebuggerPath"的参数应该改为自己的gdb.exe的路径。

3. 完整配置流程参考

Visual Studio Code安装配置C/C++教程,VSCode调试教程,VSCode安装使用教程,VSCode配置c/c++_哔哩哔哩_bilibili

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

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

相关文章

IO多路复用-poll的使用详解【C语言】

1.什么是poll poll 是一种用于监控多个文件描述符状态的系统调用,它可以等待多个文件描述符上的事件发生。它与 select 和 epoll 类似,但在某些场景下使用更为方便。 poll的机制与select类似,与select在本质上没有多大差别,使用…

oops使用笔记

oops-plugin-excel-to-json 使用 gitee上的文档图片不可见 参考 > https://forum.cocos.org/t/topic/156800 配置,打开“项目设置”,拖动到最下面,有一个"Excel to Json",前3项采用默认配置吧Excel, 默认的Excel目录是与assets平级的excel目…

如何确定企业信息系统的安全保护等级

确定企业信息系统的安全保护等级通常需要考虑以下几个方面: 1. 业务信息安全 - 系统所处理的业务数据的重要性、敏感性和保密性。例如,涉及国家机密、商业机密、个人隐私的数据通常具有较高的安全要求。 - 数据遭到破坏、泄露或篡改后对企业、社会或国家…

xinput1-3.dll文件丢失找不到的修复方法

在电脑使用过程中,遇到“xinput1-3.dll丢失”或“找不到xinput1-3.dll”这类错误提示,可能会导致某些游戏或应用程序无法正常运行。以下是修复步骤,帮助您快速找回缺失的dll文件。 一、xinput1-3.dll的作用 xinput1-3.dll是Microsoft Direct…

Android APP 基于RecyclerView框架工程(知识体系积累)

说明:这个简单的基于RecyclerView的框架作用在于自己可以将平时积累的一些有效demo整合起来(比如音视频编解码的、opengles的以及其他也去方向的、随着项目增多,工程量的增加,后期想高效的分析和查找并不容易)&#xf…

Oracle 12c新特性 In-Memory Column Store

Oracle 12c引入了一项重要的特性——In-Memory Column Store(简称IM或In-Memory),这一特性极大地提升了数据库在处理分析型查询时的性能。以下是关于Oracle 12c In-Memory特性的详细介绍: 一、基本概念 In-Memory Column Store&…

1.Fabric框架

要了解Fabric,首先要知道Hyperledger开源项目。 2015年12月,由开源世界的旗舰组织Linux基金会牵头,30家初始企业成员共同宣布Hyperledger联合项目成立。Hyperledger 超级账本,是首个面向企业应用场景的分布式账本平台&#xff0c…

【每日一练】python编写一个简易计算器

程序代码: #循环语句,条件为真所以循环执行 while True: #定义两个数的变量和运算符号 num1 float(input("第一个数:")) num2 float(input("第一个数:")) syminput("选择运算符 - * /:") #判断运算符号 …

防火墙的经典体系结构及其具体结构

防火墙的经典体系结构及其具体结构 防火墙是保护计算机网络安全的重要设备或软件,主要用于监控和控制进出网络流量,防止未经授权的访问。防火墙的经典体系结构主要包括包过滤防火墙、状态检测防火墙、代理防火墙和下一代防火墙(NGFW&#xf…

Camera Raw:评级和标签

在 Camera Raw 中,评级 Rating和标签 Label功能为摄影师和图像编辑者提供了一种高效的图像组织和管理方法。通过这些功能,用户可以轻松地对照片进行分类、标记和筛选,以便在大量图像中快速找到需要的照片。 ◆ ◆ ◆ 设置星级 Set Rating 星…

Inconsistent Query Results Based on Output Fields Selection in Milvus Dashboard

题意:在Milvus仪表盘中基于输出字段选择的不一致查询结果 问题背景: Im experiencing an issue with the Milvus dashboard where the search results change based on the selected output fields. Im working on a RAG project using text data conv…

【Java面向对象】二进制I/O

文章目录 1.二进制文件2.二进制 I/O 类2.1 FileInputStream 和 FileOutputStream2.2 FilterInputStream和 FilterOutputStream2.3 DatalnputStream 和 DataOutputStream2.4 BufferedInputStream 和 BufferedOutputStream2.5 ObjectInputStream 和 ObjectOutputStream 2.6 Seria…

防御保护课-防火墙接口配置实验

一、实验拓扑 (我做实验用的图如下) 二、实验要求 1.防火墙向下使用子接口分别对应生产区和办公区 2.所有分区设备可以ping通网关 三、实验思路 配IP; 划分vlan并配置vlan; 配置路由和安全策略。 四、实验配置 1、画图并…

开源模型应用落地-FastAPI-助力模型交互-进阶篇-RequestDataclasses(三)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理,使应用程序能够处理各种不同的请求场景,提高应用程序的灵活性和可扩展性。 在数据验证和转换方面,高级用法提供了更精细和准确的控制&#…

【Linux】进程间通信之-- 共享内存与信号量的介绍(下)

前言 上一篇,我们由进程间通信,引入并讲述了管道、匿名管道和命名管道,本节,将继续学习进程间通信的另一种方式之,共享内存。还要学习几个系统调用接口,并演示两个进程通过共享内存来进行通信。。。 目录 1…

解决Element UI 表格组件懒加载数据刷新问题

一、问题描述 element ui的table组件设置成懒加载时,遇到数据表格需要更新、删除等操作,子节点不会自动更新。 二、解决思路 刷新数据,就是重新调用load(),通过map记录已展开的节点,需要刷新…

工业控制:CANOpen(控制器局域网络)协议快速学习

文章目录 背景协议介绍CAN总线协议CANOpen协议介绍CANOpen诞生背景CANOpen的对象字典 CANOpen的服务数据对象(SDO) 参考附录问题CAN总线竞争原理在CAN协议中,帧中的ID是发送者的ID还是接收者的ID? 背景 目前很多CANOpen介绍的文章…

循环机制(event loop)之宏任务和微任务

一、前言 js任务分为同步任务和异步任务,异步任务又分为宏任务和微任务,其中异步任务属于耗时的任务。 二、宏任务和微任务有哪些? 宏任务:整体代码script、setTimeout、setInterval、setImmediate(Node.js&#xff…

【ARM】SMMU系统虚拟化整理

目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…

第四周:机器学习笔记

第四周学习周报 摘要Abstract机器学习任务攻略1.loss on training data1.1 training data的loss过大怎么办?1.2 training data的loss小,但是testing data loss大怎么办? 2. 如何选择一个中最好的模型?2.1 Cross Validation&#x…