脚本查找CPP宏对象和替换令牌
Script to Find CPP Macro Object and Replace Token
好吧,我试过在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 /defines+VARIABLE_As+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
这可能会回答您的问题:从命令行覆盖宏
但是,你可以做的一件事就是定义#define VARIABLE_A argument
int argument;
然后从命令行读取参数
相关文章:
- 如何在C++中使用X509证书模在令牌中查找私钥
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- C++:"("令牌"之前有预期的非限定 id 指向类中成员函数的指针
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 错误:令牌 { '{' 之前应存在非限定 ID
- 允许哪些令牌作为 #include 的参数?
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 它在 { 令牌之前给了我预期的标识符
- (错误:令牌之前'<<'预期的主表达式)
- 为什么 ## aka 令牌粘贴运算符不适用于 C 和 C++ 中的注释?
- 错误:"->"令牌之前的预期初始值设定项
- LINUX 操作系统上的错误:令牌之前预期的构造函数、析构函数或类型转换'('?
- 丢失读入的每一行输入中的最后一个令牌
- 如何使用 libCurl 将访问令牌发送到服务器 API
- C++令牌定义成员
- 宏定义中的预处理器令牌两边有两个双引号
- 错误:C++中']'令牌之前的预期主表达式
- 错误:令牌之前的预期主表达式'&&'
- 令牌之前']'预期的主表达式?
- 脚本查找CPP宏对象和替换令牌