当前位置: 首页 > news >正文

[vscode]将命令行参数传递给调试目标

一、简介

本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。
前提:使用vscode+cmake编译C/C++程序

二、方法

.vscode/目录下新建settings.json文件,并将待传底的参数写在 cmake.debugConfig里。
下面介绍了一个示例,将参数first_arg, second-argthird arg传递给程序(此处需要注意,third arg中间虽然存在空格,但是仍然被视作一个参数):

settings.json文件内容为:

{"cmake.debugConfig": {"args": ["first_arg","second-arg","third arg"]}
}

main.cpp文件内容为:

#include <iostream>
int main(int argc, char **argv)
{std::cout << "总参数个数为:" << argc << "\n";for (int i = 0; i < argc; i++){std::cout << "第" << i + 1 << "个参数为:" << argv[i] << "\n";}return 0;
}

CMakeLists.txt文件内容为:

cmake_minimum_required(VERSION 3.10)
project(Helloworld)
add_executable( Helloworld main.cpp )

然后点击下方状态栏里的Build按钮(下图中第一个红框),编译程序,再点击debug(下图中第二个红框)或者launch按钮(下图中第三个红框)运行程序,如下图:
vscode状态栏

程序运行的输出如下:

总参数个数为:4
第1个参数为:/home/Helloworld/build/Helloworld
第2个参数为:first_arg
第3个参数为:second-arg
第4个参数为:three arg

可以看到,程序成功的识别出了传递的参数first_arg, second-argthird arg

三、参考

[1]. Passing command line arguments to a debug target #121

相关文章:

  • el-form v-for循环列表的表单如何校验
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等
  • Ubuntu 安装腾讯会议
  • 如何不依赖Unity直接解压unitypackage的内容
  • 深入解析Java内存模型
  • 【DevOps云实践】IaaC:在AWS Application Load Balancer上实现Azure AD的OIDC SSO认证
  • BUGKU-WEB ezbypass
  • <K-近邻算法(KNN)>——《机器学习算法初识》
  • 【dart】常用数据类型
  • 探索HDFS读写流程、节点机制和数据完整性
  • 基于EasyCVR视频技术的流媒体视频融合与汇聚管理系统建设方案
  • 【ARM linux mqtt协议连接服务器】
  • 16 OpenCV Laplance算子
  • 初识Spring MVC
  • 【数据挖掘】练习1:R入门
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android组件 - 收藏集 - 掘金
  • css布局,左右固定中间自适应实现
  • Git初体验
  • in typeof instanceof ===这些运算符有什么作用
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JAVA并发编程--1.基础概念
  • Java反射-动态类加载和重新加载
  • Python 反序列化安全问题(二)
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 阿里研究院入选中国企业智库系统影响力榜
  • 闭包--闭包作用之保存(一)
  • 程序员该如何有效的找工作?
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • No resource identifier found for attribute,RxJava之zip操作符
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 说说我为什么看好Spring Cloud Alibaba
  • #{}和${}的区别?
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (补)B+树一些思想
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .FileZilla的使用和主动模式被动模式介绍
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net web项目 调用webService
  • .NET 中让 Task 支持带超时的异步等待
  • .NET中 MVC 工厂模式浅析
  • /bin、/sbin、/usr/bin、/usr/sbin