[vscode]使用cmake时将命令行参数传递给调试目标
一、简介
本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。
前提:使用vscode+cmake编译C/C++程序。
二、方法
在.vscode/目录下新建settings.json文件,并将待传底的参数写在 cmake.debugConfig里。
下面介绍了一个示例,将参数first_arg, second-arg和third 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按钮(下图中第三个红框)运行程序,如下图:

程序运行的输出如下:
总参数个数为:4
第1个参数为:/home/Helloworld/build/Helloworld
第2个参数为:first_arg
第3个参数为:second-arg
第4个参数为:three arg
可以看到,程序成功的识别出了传递的参数first_arg, second-arg和third arg。
三、参考
[1]. Passing command line arguments to a debug target #121
[vscode]使用cmake时将命令行参数传递给调试目标的更多相关文章
- 自定义实现InputFormat、OutputFormat、输出到多个文件目录中去、hadoop1.x api写单词计数的例子、运行时接收命令行参数,代码例子
一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setI ...
- python3的命令行参数传递
#coding:utf-8#命令行参数传递,例如输入: python <文件名>.py -help#这个结果就会打印help#sys.argv[0]代表"文件名",第一 ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- vscode带命令行参数进行调试
vscode带命令行参数进行调试 2.输入代码 { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.mic ...
- VS2013中带命令行参数的调试方法---C++
今天先记录一下(也是传说中大神喜欢装逼的comment line)c++中向主函数int main(int argc,char** argv )传递4中方法,欢迎添加新方法, 然后可以参考别人写的很好 ...
- 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
简介 在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示‘pip’不是内部或外部命令..如图: 解决办法 1.在python安装目录 ...
- python 中 使用sys模块 获取运行脚本时在命令行输入的参数
在python项目的开发的过程中, 经常需要运行各种python脚本, 有时候还需要根据不同的使用情况输入不同的参数, 如果每次都去编辑一下脚本那就太麻烦,太耗费时间了, 这时就可以使用Python自 ...
- 安装nodejs express框架时express命令行无效
我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...
- PostgreSQL 登录时在命令行中输入密码
有时候需要设置定时任务直接执行 sql 语句,但是 postgresql 默认需要人工输入密码,以下命令可以直接在命令行中直接填入密码 PGPASSWORD=pass1234 psql -U MyUs ...
- 【Flutter学习】之VSCode下Flutter常用终端命令行
Flutter 常用命令行 相关项目操作 查看Flutter版本 查看当前版本 flutter --version 查看所有版本 flutter version 打印所有命令行用法信息 flutter ...
随机推荐
- Android Graphics 显示系统 - 如何模拟多(物理)显示屏?
" 本着花小钱办大事,不花钱也办事的原则,为了避免花钱买设备,那如何更便捷地学习/测试Android多屏显示的内容呢?本文就给大家介绍一种模拟Android多个物理屏幕显示的方法." ...
- 错误解决:ElasticSearch SearchResponse的Hits[]总是比totalHits少一条记录
在做ElasticSearch查询操作的时候,发现Hits[].length总是比totalHits.value少1.代码如下: SearchRequest request = new SearchR ...
- 如何在Delphi TImageList 中使用 透明 png 图标
Query: "Embarcadero Delphi ImageList does not show transparent PNG icons correctly. How to fix ...
- Nginx实战-公网LB限流配置等
前提: Nginx要实现根据ip地址进行限流与不限流的区分需要通过源码包安装GeoIP模块 找到与yum安装版本相同的源码包,通过configure进行安装 ./configure --prefix= ...
- NC16562 [NOIP2012]开车旅行
题目链接 题目 题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 ...
- NC26257 小雨坐地铁
题目链接 题目 题目描述 小雨所在的城市一共有 \(m\) 条地铁线,分别标号为 1 号线,2 号线,--,m 号线.整个城市一共有 \(n\) 个车站,编号为 \(1 \sim n\) .其中坐 i ...
- NC51180 Accumulation Degree
题目链接 题目 题目描述 Trees are an important component of the natural landscape because of their prevention o ...
- Servlet实现导出下载csv文件
工作上遇到的场景,需要将客户列表数据导出成csv文件.测试了一个最简单版本,记录一下. 订单实体类: package entity; /** * 订单信息实体 * Created by dylan-p ...
- jsp中无法识别EL表达式问题
今天在开发系统时需要在JSP中遍历List<javabean>,其中用到了EL表达式:${item.value} 页面死活不出数据,只显示表达式本身:${item.value}. 页面代码 ...
- SpringBoot整合EasyExcel实现Excel表格的导出功能
前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教. 在后端管理系统的开发中,经常有导出当前表格数 ...