前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

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

作者头像
韩曙亮
发布2023-03-30 14:09:03
3K0
发布2023-03-30 14:09:03
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

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

使用 VSCode 开发 C/C++ 程序 , 涉及到

3

个配置文件 :

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

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

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

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

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


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

代码语言:javascript
复制
{
	"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++ 编译器后的参数 ;

代码语言:javascript
复制
			"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++ 生成活动文件 " 选项 ,

在这里插入图片描述
在这里插入图片描述

编译完成 ;

代码语言:javascript
复制
> 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 可执行文件 , 打印如下内容 ;

代码语言:javascript
复制
Hello C++ World from VS Code and the C++ extension! 
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、tasks.json 中的 args 数组配置分析
  • 二、编译并执行 C++ 程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档