请高手指点:如何有效的进行宏定义的方向查找

Darkay_Lee 2004-04-01 08:19:51
加入一个工程有一堆的宏定义,如:
#define XXX 123
#define YYY 456
// ... 有很对,分布到不同的文件中。

现在要求,当给出123的时候,能够查找到全部宏定义值是123的宏符号。

我现在的做法:
收集全部宏定义,然后做一个宏定义到宏符号的multi-map表。
然后查找这个表,从而得到宏符号。
问题是:收集过程完全是手工进行,体力劳动很痛苦,而且无聊。各位高手有没有什么好的方法,包括复杂的语法分析都可以,关键是能够实现。
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Darkay_Lee 2004-04-02
  • 打赏
  • 举报
回复
继续等待高手发言
Darkay_Lee 2004-04-01
  • 打赏
  • 举报
回复
to happlyman(听海人)
这样的手工话儿太多了,我就是想用现在的文件进行分析。得到结果

to Polarislee(北极星)
不知道如下情况,好不好分析,还请高手指点啊!

#define MAKE_SYM(XX) ((0x123<<8)+XX)
#define MY_SYM1 MAKE_SYM(1)
#define MY_SYM2 MAKE_SYM(2)
// ...
happlyman 2004-04-01
  • 打赏
  • 举报
回复
接着你的方法来,再做一个宏,它用来把每一个文件里的宏定义放到multi-map表里。
然后在你的每个文件里的按你定义好的宏的格式定义新的宏!像mfc的消息映射表一样
北极猩猩 2004-04-01
  • 打赏
  • 举报
回复
如果文件真的很多最好用perl之类的东西写个叫本来搜集这些资料。
Darkay_Lee 2004-04-01
  • 打赏
  • 举报
回复
自己UP

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧