vsc配置docker容器中的c环境

环境:ubuntu,vsc,g++&gcc&gdb(确保有以上的GUN工具,没有安装的可以通过apt安装)

  1. 创建工程文件夹(test)
    使用vsc打开该文件夹,在该文件夹中添加hello.c文件,编写简单程序,并通过gcc -g -o hello hello.c编译c文件,生成hello二进制可运行文件,可以使用./hello直接运行该文件。

  2. vsc配置
    在vsc的扩展中安装C/C++
    安装后按f5,选择C++(GDB/LLDB),选择默认配置,系统会生成一个lunch.json文件,该文件如下

    {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.out","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}]}]
    }
    

    其中的program部分已经示例很清楚了,你要调试的文件是hello文件(也就是编译成功的二进制文件),将a.out替换为你的文件名并删除示例中文。

    新建一个makefile文件,按语法要求写入

    hello:hello.cgcc -g -o hello hello.c       //前方空格为tab
    

    你可以理解为一个自动化运行脚本,在.c文件更新或者hello文件不存在时,会执行下方的指令,参考C编译入门。
    在json中添加"preLaunchTask": "build",该标签的功能是在调试前运行该任务,可以及时编译修改过的程序,保存后按f5,会提示没有配置任务,选择配置任务并选择other,系统会默认添加task.json文件,在该文件中,label是任务名,此处为build,command是触发该任务时会进行的命令,设定为make即可,修改后的两文件为
    launch.json

    {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/hello","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "build"}]
    }
    

    task.json

    {// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "build","type": "shell","command": "make"}]
    }
    

    此时f5进行调试就可以正常编译和调试。,理论上,win环境只要有gcc/g++/gdb工具也能够实现编译,更进一步,mingw-w64就是这么干的,关于上面两个json文件,最好了解下相关标签的含义。

参考
C语言入门

vsc 的c环境配置相关推荐

  1. Python数据科学环境配置

    前言 工欲善其事必先利其器, 要把环境给配置好了才能好好学习. 首先致谢 林某同志 提供机器来重新配置环境并截图.(嘻嘻 概述 本向导将简单介绍以下四个常用数据科学工具的配置, Anaconda (管 ...

  2. 【国产MCU学步随笔------兆易创新GD32f103CBT6,及vscode编辑环境配置】

    文章目录 vscode编辑环境配置 官方库例程迷惑解答 时钟在哪里初始化 时钟在哪里配置 NVIC在哪里初始化 NVIC中断分组是什么 printf怎么重映射 vscode编辑环境配置 下载官方库:链 ...

  3. Flutter Windows应用开发环境配置

    为什么要入Flutter开发的坑? 首先在当今Windows开发已经逐渐成为一个偏小众的领域,不仅要涉及的知识面广,还对开发人员的要求不低,界面的精美也成为一个重要因素.目前已知的Windows 客户 ...

  4. QT5.3 + vs2012 + box2d环境配置

    安装vs 和 qt 下载vs 2012,傻瓜式安装,但安装时间可能比较长.(其中一定选择"Visual C++"选项) 下载Qt 5.3,选择适合自己电脑的版本下载安装,我选的是q ...

  5. YOLOv4 资源环境配置和测试样例效果

    YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...

  6. cmd怎么实现Java你好_java环境配置以及如何在cmd窗口运行java代码

    对于初学java的人来说,电脑的环境配置也许会让你头疼,但只要你认真一些学习,相信对你来说都是OK的啦~ 首先回到桌面,选择我的电脑,单击右键属性,进入高级系统设置,点击环境变量设置.用户变量选择Te ...

  7. Springboot使用Maven Profile和Spring Profile进行多环境配置

    Springboot使用Maven Profile和Spring Profile进行多环境配置 目的 在实际的项目上,一般会分三种环境dev.test.prod来方便我们的开发和部署,要求我们在开发的 ...

  8. linux 编译opencl,OpenCL编译环境配置(VS+Nvidia)

    英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤:   VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...

  9. windows下rpc框架thrift的环境配置

    windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...

最新文章

  1. 【C#】【Log】Common.Logging.MultipleLogger及ETWLoggerd研究
  2. 容器学习 之 容器访问外部网络(十四)
  3. [译]震惊!RxJava 5 个不为人知的小秘密
  4. 仅用1天,为湖北黄冈中学搭建直播课堂!
  5. 二-Java基础-作业-基础语法
  6. iOS 程序 main函数之前发生什么
  7. linux火狐浏览器50版本,firefox 52 下载-Firefox(火狐浏览器)52版下载 v52.0.2官方版--pc6下载站...
  8. 物联网之有线通信技术之短距离的现场总线
  9. 东北林业大学---C++实验一
  10. 水和水蒸气物性计算微信小程序
  11. 2022年山东省安全员C证考试资料及山东省安全员C证考试试题
  12. 基建不再是架桥铺路,“新基建”正星火驰援行业的数字化转型
  13. error: device unauthorized.This adb server's $ADB_VENDOR_KEYS is not set
  14. 免费网络硬盘、FTP、大容量邮箱、电子相册合集
  15. 【漏洞复现-EmpireCms-文件上传】vulfocus/empirecms-cve_2018_18086
  16. 思路:controller层:后台如何取值 前端如何给name赋值 例如是id赋值还是自己随意定义...
  17. 为pr视频文件添加字幕
  18. python if函数两个并列条件怎么用,Python 并列和或者条件的使用说明
  19. php16进制转换源码,php16进制转换
  20. 《弟子规》之余力学文

热门文章

  1. Matlab数学建模(九):机理建模方法
  2. 计算机配置参数格式错误,关于bios标准设置故障的实例详解
  3. 电商快递:悬在顺丰头顶的双刃剑
  4. Kubernetes系列教程(二)---集群网络之Flannel核心原理
  5. 小学生计算机特训营,杭州小学生军事特训营
  6. hdu1290 献给杭电五十周年校庆的礼物
  7. 微信媒体服务器推流,干货:“微信+直播”成新媒体营销新方式
  8. Unity ECS实现RTS游戏中的游戏单位框选、集结和移动控制
  9. 2017这一年读过的那些书
  10. 基于HOPF振荡器的CPG单元模型matlab实现