[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 ...
随机推荐
- 将实体光盘制作成光盘映像iso文件
春节假期整理历史物件时发现一些书籍的光盘,虽然买了多年但一直没有看过,因为自己在用的电脑都没有光驱.正好老爸的电脑是带光驱的,想着趁过节把这些光盘的内容读取出来存在NAS上方便后续使用. 使用Ultr ...
- 小知识:TFA收集日志报错空间不足
今天在某客户环境下分析某节点驱逐的故障,发现有安装TFA,所以使用一键收集包含故障时刻的日志 tfactl diagcollect -from "2020-08-14 03:00:00&qu ...
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
2.4.5 EF Core -- 查询 关联数据加载 客户端与服务端运算 跟踪与不跟踪 复杂查询运算 原生 SQL 查询 全局查询筛选器 关联数据加载 学员和助教都在项目分组中,调整模型,删除 Ass ...
- 《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(下)
第 7 章 高级主题 7.4 HATEOAS 全称 Hypermedia AS The Engine Of Application State,即超媒体作为应用程序状态引擎.它作为 REST 统一界面 ...
- JS leetcode 至少是其他数字的两倍的最大数 解答思路分析
壹 ❀ 引 刷leetcode的第二天,那么今天做的也是一道难度为简单的题目至少是其他数字的两倍的最大数,老规矩,先说说我的实现思路后,再来分析优质答案,原题如下: 在一个给定的数组nums中,总是存 ...
- NC15557 连续区间的最大公约数
题目链接 题目 题目描述 给一个数列共n(n<=100,000)个数,a1,a2,...,an.(0<=ai<=1000,000,000).有q(q<=100,000)个询问. ...
- CSS加JS实现网页返回顶部功能
最近在设计自己的博客,前端页面在内容很多的时候往下拖动会有滚动条.通常我们都需要一个返回顶部的功能来实现快速来到网页顶部.当然实现方式不止一种,这里我采用的最实用的一种.使用CSS+Jquery方式 ...
- Java的SPI机制实践
Java SPI机制概述 先给出结论:"Java的SPI是一种服务发现机制,用于约定接口和动态发现实现类,体现了分层解耦的思想". Java的SPI机制常用于框架扩展或组件替换,最 ...
- C语言变量和数据类型整理
03-变量和数据类型 3.1 大话C语言变量和数据类型 在<数据在内存中的存储>一节中讲到: ●计算机要处理的数据(诸如数字.文字.符号.图形.音频.视频等)是以二进制的形式存放在内存中的 ...
- 【Azure 应用服务】Azure Data Factory中调用Function App遇见403 - Forbidden
问题描述 在Azure Data Factory (数据工厂)中,调用同在Azure中的Function App函数,却出现403 - Forbidden错误. 截图如下: 问题解答 访问Azure ...