gpt4 book ai didi

c++ - 查找 CPP 宏对象并替换 token 的脚本

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:22 26 4
gpt4 key购买 nike

好吧,我已经尝试在 Perl 中做到这一点,但几乎没有成功......

在 .cpp 文件中我有以下文本...

#define VARIABLE_A    32

我想用其他数字代替它

#define VARIABLE_A    123

我希望能够通过我的命令行运行它,例如:

change_variable_a 123

实现此目标的最简单方法是什么?首选 BASH 或 Perl。

我现在的代码是垃圾。尝试通过 bash 脚本将参数传递到 perl 单行代码中,我完全错了。

好的,这就是我所拥有的。

 perl -MPOSIX -pe's/(\d+)/@ARGV[0]/e if /define\s+VARIABLE_A\s+\d+/' file.h > file.h.2
mv -f file.h.2 file.h

最佳答案

当您重新编译时,您可以使用 -D 选项在命令行上设置一个值(至少在 gcc 和 clang 中;大概是其他的)。所以最简单的解决方案是在命令行上定义 VARIABLE_A。

gcc -D VARIABLE_A=123 file.cc

如果你想有一个默认值,你只需要在你的代码中有一些东西来定义没有在命令行上设置的 VARIABLE_A。

#ifndef VARIABLE_A
#define VARIABLE_A 32
#endif

关于c++ - 查找 CPP 宏对象并替换 token 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com