首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将字符串从make文件传递到c++程序

如何将字符串从make文件传递到c++程序
EN

Stack Overflow用户
提问于 2019-02-09 00:31:35
回答 2查看 450关注 0票数 1

似乎在我继承的一个程序中,我们可以传入make变量,这些变量是数字,但我现在想传入一个字符串。当它们作为数字传入时,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CFLAGS += -DBUILD_NUMBER=$(BUILD_NUMBER)

我可以像这样将它作为一个int类型访问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fprintf(stderr, "\n%s v%d.%d.%d.%d\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);

但是我似乎没有用字符串来达到同样的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CFLAGS += -DMYBRANCH=$(BRANCH)

fprintf(stderr, "\n%s v%d.%d.%d.%d.%s\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);

我得到了上面的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
main.cpp: In function ‘int args_parse_cmd_line(int, char**):
<command-line>:0:10: error:FIL’ was not declared in this scope
main.cpp:72:114: note: in expansion of macro ‘MYBRANCH%s\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);
                                                                            ^~~~~~~~

有人能告诉我我哪里做错了吗?"FIL-1234“是我试图添加到构建元数据中以便于处理的分支名称的示例。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-09 00:39:49

这个预处理器技巧应该是有效的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define xstr(s) str(s)
#define str(s) #s

fprintf(stderr, "\n%s v%d.%d.%d.%d.%s\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, xstr(MYBRANCH));

从您的错误中可以清楚地看出,当编译器查找变量FIL时,MYBRANCH正在被扩展为FIL-1234。您需要将宏扩展转换为字符串文字,上面的代码应该可以做到这一点。虽然我什么都没测试过。

票数 2
EN

Stack Overflow用户

发布于 2019-02-09 00:47:30

不确定这是否是理想的,但它是有效的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CFLAGS += -DMYBRANCH=\"$(BRANCH)\"

我认为John的解决方案很有吸引力,因为我对转义字符并不着迷。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54602025

复制
相关文章
LeetCode 6092. 替换数组中的元素
给你一个下标从 0 开始的数组 nums ,它包含 n 个 互不相同 的正整数。请你对这个数组执行 m 个操作,在第 i 个操作中,你需要将数字 operations[i][0] 替换成 operations[i][1] 。
Michael阿明
2022/06/06
2K0
如何替换jar中的jar配置
spring boot项目,使用jar方式打包部署;有时候我们需要替换项目中某个引用jar,又不想将整个项目重新打包。
summerking
2022/09/19
2.6K0
替换目标中覆盖的文件如何恢复?
想必大家对于下面这个窗口都非常熟悉,当复制的文件粘贴到一个存在同名文件的文件夹中就会出现该提示窗口,如果选择的是替换,那么新文件夹就会将文件夹中的同名文件覆盖掉。但其实很多时候,由于粗心等问题,会将一些重要文件给覆盖了,那么替换覆盖的文件怎么恢复呢?下面,我们一起往下看看吧!
用户7442547
2023/01/08
5.2K0
js数组添加删除数据_如何删除数组中的元素
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
14.4K0
js数组添加删除数据_如何删除数组中的元素
LeetCode 2197. 替换数组中的非互质数(栈)
返回修改后得到的 最终 数组。 可以证明的是,以 任意 顺序替换相邻的非互质数都可以得到相同的结果。
Michael阿明
2022/11/26
4730
使用Tensorflow实现数组的部分替换
简单描述一下场景:对于一个二维的整型张量,假设每一行是一堆独立的数,但是对于每一行的数,都有一个设定好的最小值的。我们需要做的是,对于每一行,找到第一次小于最小值的位置,并将该位置起直到行末部分的数字替换为0。是不是有点抽象?我们来举个例子,假设我们的二维整型张量为:
石晓文
2018/07/25
3.7K0
Go数组中元素替换
在go语言当中,只有for一种循环结构,那就是for循环。而for-range 主要用来遍历数组、切片,字符串,Map等,当然,for结果还是可以与if ,switch分支结构进行使用。
南非骆驼说大数据
2022/09/18
1.1K0
WordPress 技巧:如何快速替换日志中的文本
WordPress 技巧:如何快速替换日志中的文本,把下面的代码放到当前主题的 functions.php 文件中,然后在第四行需要替换的文本改成你的:
Denis
2023/04/15
1.8K0
PHP:如何合并多维数组中的子数组
如何把多维数组中的每个子数组合并成一个新数组 $result,有两个方法: $merged = call_user_func_array('array_merge', $result); 如果是 PHP 版本在 5.6 以上,可以使用 ... 操作符: $merged = array_merge(...$result); ----
Denis
2023/04/15
5.5K0
php中的<?= ?>替换<?php echo ?>
首先修改PHP.ini文件. 如下: 1. 将short_open_tag = Off 改成On 开启以后可以使用PHP的短标签:<? ?> <?= 同时,只有开启这个才可以使用 <?= 以代替 <
全栈程序员站长
2021/12/23
3K0
php中的<?= ?>替换<?php echo ?>
如何在 Python 中搜索和替换文件中的文本?
让我们看看如何在文本文件中搜索和替换文本。首先,我们创建一个文本文件,我们要在其中搜索和替换文本。将此文件设为 Haiyong.txt,内容如下:
海拥
2021/10/20
16.1K0
442 数组中重复的数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [2,3] class Solution { public List<Integer> findDuplicates(int[] nums) { List<Integer> list=new Arra
CaesarChang张旭
2021/06/01
5.2K1
如何用 esbuild 替换 Create React App 中的 Webpack
原文链接:https://devtails.xyz/how-to-replace-webpack-in-create-react-app-with-esbuild[1]
chuckQu
2022/08/19
2.7K0
如何用 esbuild 替换 Create React App 中的 Webpack
如何在WordPress中替换媒体文件
WordPress提供了一些强大的工具来管理您博客上的媒体,但它缺乏有用的功能。WordPress不允许用户替换媒体文件。在本文中,我将向您展示如何轻松替换WordPress网站中的现有媒体文件。
许都博客
2021/06/15
1.3K0
php如何替换字符串中的指定字符
常用的函数有:str_replace() 和preg_replace()。 str_replace() 函数使用一个字符串替换字符串中的另一些字符。 str_replace(find,replace,string,count)参数 描述 find 必需。规定要查找的值。 replace 必需。规定替换 find 中的值的值。 string 必需。规定被搜索的字符串。 count 可选。一个变量,对替换数进行计数。 str_replace(“raykaeso”, “leixuesong”, “raykaeso love php”); preg_replace ( pattern , replacement , subject,limit = -1 ,$count ) 作用:执行一个正则表达式的搜索和替换 pattern 必需。需要搜索的模式。 replacement 必需。用于替换的字符串或数组。 subject 必需。需要替换的字符串或数组。 limit 替换的次数。-1为无限 count 完成替换的次数,变量
全栈程序员站长
2022/08/25
4.8K0
使用js替换数组中元素
记得我最近刚刚做的一个项目,后端返回的一个数组对象,里面的图片的地址有问题,一个在这个ip上一个在另一个ip 上,我问他咋办,他说,你要自己把那个返回的数据重新修改一下就是下面这种,只替换a 中的http后面的ip 地址为当前ip地址其他保留,我去。这个要求可真烦,但是没有办法,谁叫我刚刚入职了,没办法,好吧我就来实现吧
我乃小神神
2019/03/20
10.2K0
使用js替换数组中元素
Python中的文本替换
对于习惯了Java中的replace,Python的replace用起来有些不适应,因为后者不支持直接使用正则表达式。要实现通过正则表达式的替换,可以配合Python的正则表达式模块使用。比如:
py3study
2020/01/10
4.7K0
idea如何查找替换_pycharm查找替换
在平时敲代码的时候经常碰到,咦,这个变量名好像不太合适,但又写了好多这时候可以怎么办呢? Pycharm/Idea里面给我们准备了替换功能
全栈程序员站长
2022/09/27
2.7K0
idea如何查找替换_pycharm查找替换
新旧ERP系统替换过程中的旧数据该如何处理?
越来越多的企业面临着ERP系统替换或扩展的问题,而现有ERP系统中有效数据的维护,对ERP系统切换、扩展以及新系统正常运行有着重要影响。数据迁移稍有不慎,便会造成新系统不能正常运行,而迁移过多垃圾数据
人称T客
2018/03/19
1.6K0
新旧ERP系统替换过程中的旧数据该如何处理?
100. 删除排序数组中的重复数字 双指针+替换
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。
和蔼的zhxing
2018/09/04
9740

相似问题

替换数组中的数据

25

如何在redux中替换数组数据?

120

Powershell:如何替换数组的数据?

11

VBa。替换数组中的数据

35

如何将数组中的数据替换为其他数组?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文