|
假定我有一个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: |
|