文章目录

  • 一、tasks.json 中的 args 数组配置分析
  • 二、编译并执行 C++ 程序

可以参考官方提供的文档 : https://code.visualstudio.com/docs/cpp/config-linux

使用 VSCode 开发 C/C++ 程序 , 涉及到 333 个配置文件 :

① tasks.json : 编译器构建 配置文件 ;

② launch.json : 调试器设置 配置文件 ;

③ c_cpp_properties.json : 编译器路径和智能代码提示 配置文件 ;

下面开始逐个 生成 上述配置文件 ;

一、tasks.json 中的 args 数组配置分析


tasks.json 构建脚本内容如下 :

{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: g++ 生成活动文件","command": "/usr/bin/g++","args": ["-fdiagnostics-color=always","-g","${workspaceFolder}/*.cpp","-o","${fileDirname}/${fileBasenameNoExtension}"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "编译器: /usr/bin/g++"}]
}

其中的 “args” 参数是 g++ 编译器后的参数 ;

         "args": ["-fdiagnostics-color=always","-g","${workspaceFolder}/*.cpp","-o","${fileDirname}/${fileBasenameNoExtension}"],
  • -fdiagnostics-color=always 彩色警告 ;
  • -g 编译器编译时 , 产生调试信息 ;
  • ${workspaceFolder}/*.cpp 配置的是源文件 , 在目录下的 cpp 后缀的是源文件 ;
  • -o 编译时的输出路径 ;
  • ${fileDirname}/${fileBasenameNoExtension} 编译输出的可执行文件 , ${fileDirname} 目录是 .vscode , ${fileBasenameNoExtension} 是 task , 输出路径是 .vscode/task ;

二、编译并执行 C++ 程序


使用 Ctrl + Shift + B 快捷键 , 即可完成编译操作 ;

也可以在菜单栏中选择 " 终端 / 运行任务 " ,

选择 " C/C++:g++ 生成活动文件 " 选项 ,

编译完成 ;

> Executing task: C/C++: g++ 生成活动文件 <正在启动生成...
/usr/bin/g++ -fdiagnostics-color=always -g /home/octopus/vscode/helloworld/*.cpp -o /home/octopus/vscode/helloworld/.vscode/tasks生成已成功完成。终端将被任务重用,按任意键关闭。

生成的可执行文件在 .vscode 目录下 , 名称是 task ;

执行 cd .vscode 命令 , 进入 .vscode 目录中 ,

使用 ./task 命令 , 执行该 task 可执行文件 , 打印如下内容 ;

Hello C++ World from VS Code and the C++ extension!

【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )相关推荐

  1. linux下julia的开发环境,Ubuntu搭建Julia远程开发环境

    Julia作为一门新兴的编程语言,还是可以学一学的,这里总结了一下Ubuntu系统远程搭建Julia开发环境的方法. 前期准备: 云服务器一台,操作系统为Ubuntu18.04, xshell6 + ...

  2. linux下opengl开发环境,Ubuntu 16.04 OpenGL 开发环境配置指南

    在 Visual Studio Code 中撰写一段测试程序 // test.c /* light.c 此程序利用GLUT绘制一个OpenGL窗口,并显示一个加以光照的球. */ /* 由于头文件gl ...

  3. ti linux 开发环境,Ubuntu下搭建MSP430开发环境(MSPGCC)

    上回讲到已经成功编译了源代码,生成了可执行文件,接下来就是要连接仿真器,下载可执行文件了.mspgcc中连接仿真其用的是mspdebug(功能上类似与openocd),连接成功之后它也能够充当gdbs ...

  4. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

    文章目录 一.创建 tasks.json 编译器构建配置文件 二.tasks.json 编译器构建配置文件分析 可以参考官方提供的文档 : https://code.visualstudio.com/ ...

  5. linux 搭建开发stm32 stlink,ROS2与STM32入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+openocd)...

    ROS2与C++入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+opencd) 说明: 介绍如何在ubuntu下搭建开发环境 环境:ubuntu20.04 + ecl ...

  6. 2021-01-13 Linux下安装lua开发环境 Ubuntu

    Linux下安装lua开发环境 Ubuntu 1.下载lua包并解压 wget -c http://www.lua.org/ftp/lua-5.3.5.tar.gz tar zxvf lua-5.3. ...

  7. 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...

  8. mac搭建python开发环境_Mac打造python2 python3开发环境

    最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...

  9. [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务

    在Linux上部署Java开发环境笔记(一) -- 补充:Linux下如何手动设置IP及配置DNS服务 2010/06/17 有的Linux系统会有网络设置的图形操作界面,比如"红旗Linu ...

最新文章

  1. 惨淡!苏州楼市政策调控下,这些房企高调入驻,如今黯然离场?
  2. 漫画:Object 类很大,你忍一下(完结篇)
  3. (十) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
  4. 初学者持续自我提升指南
  5. NSEnumerator使用
  6. 一根绳子从一头烧需30时分钟_小学生一分钟跳绳满分训练指南
  7. 内卷了!DAS、NAS、SAN区别和FC SAN存储
  8. 数据结构区间问题总结
  9. Dubbo架构设计详解(转载)
  10. Towards Fully 8-bit Integer Inference for the Transformer Model
  11. Java递归算法求n的阶乘
  12. 应用商店应用计算机,应用市场电脑版
  13. 读钱钟书的《写在人生边上 人生边上的边上 石语》(一)
  14. 2022考研这一年总结
  15. 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?
  16. 基于matlab/simulink同步发电机电路模型仿真,基于MATLAB/SIMULINK同步发电机电路模型仿真...
  17. ora-01237 ora-01110 ora-17505 ora-15041
  18. freebsd的swatch安装和使用
  19. Hadoop Mapreduce组建 核心环形缓冲区 RingBuff 原理及Go实现
  20. php代码分析,THINKPHP代码分析核心.pdf

热门文章

  1. 无法连接到数据库服务器 could not connect to server: Connection refused
  2. RabbitMQ 官方NET教程(二)【工作队列】
  3. 蓝桥杯 1427 买不到的数目 (模拟)
  4. is not allowed to connect to this MySQL server解决办法
  5. shareSDK 微信分享的时候只能分享jpg格式的图片大于32k时为什么分享不出去?
  6. onWindowFocusChanged重要作用(得到/失去焦点call) 、
  7. 关于tomcat8在windows2008下高并发下问题的解决方案
  8. Apache中抑制IP段,在httpd.conf中的写法
  9. 在VS.NET2003中无法新建C#项
  10. 关于错误 openssl/ssl.h:没有那个文件或目录的解决办法