LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 664|回复: 5

请教宏展开的问题?

[复制链接]
发表于 2004-6-21 11:26:29 | 显示全部楼层 |阅读模式
#if YYY
#define GET_RET_FILE         HHHH
#endif /* YYY */

#if  XXX
#define GET_RET_FILE        JJJJ
#endif /* XXX */

....
有类似以上的语句,我想知道到底GET_RET_FILE替换的是哪个?
发表于 2004-6-21 21:52:52 | 显示全部楼层
是用后面的HHHH替换GET_RET_FILE!
发表于 2004-6-21 22:02:17 | 显示全部楼层
取决于你定义了XXX还是YYY
 楼主| 发表于 2004-6-22 09:28:07 | 显示全部楼层
xxx  yyy不是我定义的,我也不知道会是什么?
这种情况下我想知道GET_RET_FILE的值,怎么做?  用gdb可以吗
发表于 2004-6-22 20:20:43 | 显示全部楼层
最初由 libinary 发表
取决于你定义了XXX还是YYY

昏!后面的定义居然没有看到!
xxx yyy有时是由编译时的环境决定的,或者是人工直接向编译器传递的参数。
如果想知道编译后GET_RET_FILE取什么值,可以把它在运行时打印出来。不过要看好它是数字还是字符串。也可以用gcc -E看看预处理之后的值。
发表于 2004-6-23 09:41:09 | 显示全部楼层
在两处加error 等预编译语句, 编译时候会打印
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表