vscode 开发c环境

前置条件:

1.vscode安装C/C++ Extension Pack扩展

2.安装gcc或者clang开发环境

在工程**.vscode**目录下创建task任务文件

tasks.json

javascript 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "build",
            "command": "/usr/bin/clang",
            "args": [
                "-fcolor-diagnostics",
                "-fansi-escape-codes",
                "-g",
                "main.c",
                "-o",
                "${cwd}/main"
            ],
            "options": {
                "cwd": "${cwd}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

其中"command": "/usr/bin/clang",可以换成对应的c编译器,比如gcc

在工程**.vscode**目录下创建运行文件

launch.json

javascript 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "run",
            "type": "cppdbg",
            "request": "launch",
            "program": "${cwd}/main",
            "args": [],
            "stopAtEntry": false,
            "cwd": "./",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

"program": "${cwd}/main", main为task任务中编译后的-o输出文件

"MIMode": "lldb",选择对应的c调试器,比如gdb

运行步骤:

  1. 依次选择菜单 <终端> ----- <运行任务> ,任务名对应task中的label值;

  2. 依次选择菜单 <运行> ----- <启动调试> ,可以对源码打断点调试;

相关推荐
躺柒2 小时前
读半导体简史08大型机
linux·服务器·c语言·数据库·unix·ibm
wuyk5554 小时前
67.嵌入式C语言进阶:结构体指针实战指南——STM32外设、传感器数据访问的高效技巧
c语言·开发语言·stm32·单片机
我不管我就要叫小猪4 小时前
C/C++----命名空间
c语言·开发语言·c++
白白白小纯5 小时前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
无忧.芙桃5 小时前
数据结构之堆
c语言·数据结构·c++·算法·
2301_777998346 小时前
Linux线程控制——从线程创建到线程分离(第三部分:线程等待 pthread_join)
linux·运维·服务器·c语言·c++
LONGZETECH6 小时前
新能源汽车动力系统仿真硬核拆解:五系统分层架构的设计逻辑与技术权衡
c语言·开发语言·架构·汽车·汽车仿真教学软件·汽车教学软件
白白白小纯7 小时前
算法篇—链表的中间节点
c语言·数据结构·算法·leetcode
麻瓜老宋7 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十步,魔法数修复、测试分隔符、位运算截断检查、进制溢出检查
c语言·开发语言·atomcode
SuperByteMaster7 小时前
代码临界区保护 开关中断
c语言