加入一个工程有一堆的宏定义,如:
#define XXX 123
#define YYY 456
// ... 有很对,分布到不同的文件中。现在要求,当给出123的时候,能够查找到全部宏定义值是123的宏符号。我现在的做法:
收集全部宏定义,然后做一个宏定义到宏符号的multi-map表。
然后查找这个表,从而得到宏符号。
问题是:收集过程完全是手工进行,体力劳动很痛苦,而且无聊。各位高手有没有什么好的方法,包括复杂的语法分析都可以,关键是能够实现。
#define XXX 123
#define YYY 456
// ... 有很对,分布到不同的文件中。现在要求,当给出123的时候,能够查找到全部宏定义值是123的宏符号。我现在的做法:
收集全部宏定义,然后做一个宏定义到宏符号的multi-map表。
然后查找这个表,从而得到宏符号。
问题是:收集过程完全是手工进行,体力劳动很痛苦,而且无聊。各位高手有没有什么好的方法,包括复杂的语法分析都可以,关键是能够实现。
解决方案 »
- 调用CListCtrl本身的函数提示出错,请大家帮忙
- CMenu的SetMenuItemBitmaps和DrawItem问题!知道的大哥帮忙解决一下以下难题,想知道的帮忙顶啊!
- MFC 全局变量问题
- PE,这个到底是怎么理解啊~~~~,希望谁给个注释啊,火死了,发了两边,没有一个人能够回答的!
- 分解csv格式的文本串--急
- 请教如何在程序启动时 隐藏界面,在线等
- 在MainFrame中如何发一个消息给Dialog @@@@@@@@@@@@
- 异步通讯,,如何知道对方是否已经受到我send()的东西?
- 请问动态连接库中的类该怎么样使用
- 为什么我调<深入浅出MFC>中第三章的“消息映射”总是调不出呀
- IP和ICMP的头部校验和函数是怎么回事?
- 怎样拦截其他程序的消息
比如:
#define MAKE_SYM(XX) ((0x123<<8)+XX)
#define MY_SYM1 MAKE_SYM(1)
#define MY_SYM2 MAKE_SYM(2)
// ...
这样还要涉及到计算!越想越复杂的啊!
我在想能不能编译器的预处理程序帮帮忙!帮我做好了预处理的分析和计算工作得到一个列表给我之后就好办了,.^_^。不知道有没有做编译器(或者熟悉编译器)的高手指点一下是否可以呢?