VS Code 运行C++程序以及TASKS.JSON和LAUNCH.JSON文件的基础配置

本文介绍了在VS Code中运行C++程序的方法。一是使用终端命令行编译和执行,二是通过配置文件tasks.json保存脚本命令并运行任务。还介绍了tasks.json和launch.json的配置,以及可通过快捷键操作,同时提到可在VSCode中查看替换变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 使用VS Code运行C++程序

1) 使用终端的命令行

//hello.cpp
#include <iostream>

int main(){
   
   std::cout << "hello world!" << std::endl;
 
    return 0;
}

打开终端,在命令行中输入 g++ -o hello hello.cpp即可完成编译
然后输入 ./hello 即可执行文件

在入图片描述
这样子直接使用命令行,那还要VS Code干嘛,不如直接用windows 的cmd对吧?

2)使用配置文件tasks.json保存脚本命令,然后运行任务

       VS Code是通过运行tasks.json中配置的任务来执行脚本命令的。配置文件中以JSON格式保存各个参数,例如任务名字label,类型type,命令command,参数args等等。
       首先在文件栏选中要编译的文件,如hello.cpp,然后按快捷键ctrl + shift + P或者F1按出VS Code的命令行。输入run task,然后选择要运行的任务即可运行。其中run build/test task是软件提供的最常用的两种任务,所以一般就把编译,链接等生成目标程序的任务名设置为build,把测试运行的任务名设置为run。
       其中run build task的快捷键是ctrl + shift + B,还可以把run test task设置为F4(你方便的按键),方便操作。
       如果要运行hello.cpp,首先选中该文件,然后F1调出命令行,输入run test task即可运行。关键是task.json配置文件的编写。

2. TASKS.JSON配置介绍

可以通过ctrl + space来查看各个属性有什么不同的参数

{
	"version": "2.0.0",
	"tasks": [
		//build task
		{
			"type": "shell",	//任务类型是shell或者process
			"label": "build",	//任务名称,run task中就是根据名称来运行不同任务的
			"command": "g++",	//使用g++编译C++程序,前提是添加了g++的环境变量
			"args": [	//g++命令的参数
				"-g",	//-g是添加调试信息
				"${file}",	//${file}是一个引用,表示当前文件位置
				"-o",	//-o表示目标程序
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"problemMatcher": [
				"$gcc"
			],
			"group": {	//要添加到的任务组,支持build或者test。一个任务组可以包含多个任务
				"kind": "build",
				"isDefault": true
			},
		},
		//test(run) task
		{
			"type": "shell",
			"label": "run",
			"command": "${fileDirname}\\${fileBasenameNoExtension}.exe",	//表示当前的可执行程序
			"dependsOn": "build",	//依赖的任务,要先执行build任务生成可执行文件,才能运行。
									//如果每次都在之前手动运行了build任务,就不需要这个依赖了
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "test",	//在测试任务组中,在命令行中输入run test task也可以运行
				"isDefault": true
			},
			"presentation": {	//结果表示
				"echo": true,	//是否输出相关结果信息
				"reveal": "always",	//是否显示终端面板,always表示总是显示
				"focus": false,	//面板获取键盘输入的焦点
				"panel": "new",	//在新的面板输出信息,选择share会和其他结束了的任务共享面板
				"showReuseMessage": true,
				"clear": false	
			}
		
		}
	]
}

3. LAUNCH.JSON
LAUNCH.JSON是调试程序(快捷键F5)的配置文件

    "version": "0.2.0",
    "configurations": [      
        {
            "name": "(gdb) 启动",
            "preLaunchTask": "build",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}//${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\MinGW\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

4. 一些替换变量
可以在VSCode中通过ctrl + 空格查看

${workspaceFolder} - 工作目录
${workspaceRootFolderName} - 不带斜杠的目录名称
${file} - 文件路径+文件+拓展名
${relativeFile} - 当前文件相对于工作目录的目录
${fileBasename} - 文件+拓展名
${fileBasenameNoExtension} - 文件名
${fileDirname} - 文件目录
${fileExtname} - 文件拓展名
${cwd} - 活动文件的目录
${lineNumber} - 行号
智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识点解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“橙点同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值