LinuxSir.cn,穿越时空的Linuxsir!

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

请教关于define的用法

[复制链接]
发表于 2003-7-23 15:05:08 | 显示全部楼层 |阅读模式
假定我有一个a.h文件,其中定义宏DBG
#define DBG(x...) "此处为一堆代码"

在另其他文件b.c c.c中使用了此宏

现在我希望在b.c中扩展此宏的功能(例如还可以打出函数名),但是不想把a.h中的"一堆代码"复制一遍,即达到如下效果:
#define DBG(x) do{printf(__FUNCTION__), "与a.h中DBG宏相同的一堆代码"} while(0)

1. C语言中能不能通过预编译达到此效果?
2. 有没有其他办法?

声明:
1. a.h 中的宏定义不能动
2. b.c 中使用DBG宏的语句不变:cool:
发表于 2003-7-24 12:47:54 | 显示全部楼层
建议不要用宏.更不要用在很烦的地方.尽管有些库是用了宏.
很容易出错.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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