贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )相关的知识,希望能为你提供帮助。
文章目录
- ??一、tasks.json 中的 args 数组配置分析??
- ??二、编译并执行 C++ 程序??
可以参考官方提供的文档 : ??https://code.visualstudio.com/docs/cpp/config-linux??
使用 VSCode 开发 C/C++ 程序 , 涉及到 333 个配置文件 :
① tasks.json : 编译器构建 配置文件 ;
【开发环境Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )】② 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!
推荐阅读
- Samba的使用教程
- 如何计算磁盘IOPS
- Linux 内核 内存管理RCU 机制 ⑤ ( RCU 层次架构概念 | RCU 层次架构源码解析 | RCU 层次架构每层最多叶子数 | RCU 层次架构每个叶子 CPU 数量 )
- C语言-004
- Go语言 unsafe.Pointer 浅析
- docker-compose 安装 jenkins 指定版本
- Spark入门简介
- 《LinuxProbe》—RHCE 学习 Day5
- MySQL 索引事务与存储引擎