调试打印宏级联问题在C-源完全禁用调试输出, 我通常定义以下简单的宏#1与下GCC
#define dprintf(args)
要启用调试输出,我定义宏#2替换地
#define dprintf(args) printk##args
在源的使用是这样的:
如果我使用dprintf(("Irqs:%lu\n",irqs));
预处理器应该创建以下行的宏#2
printk("Irqs:%lu\n",irqs);
在Windows环境下的Visual C++,是没有问题的。
下是NetBeans IDE 6.8, 使用gcc版本4.4.1(Ubuntu的4.4.1-4ubuntu9)我得到了以下错误消息:
"printk" and "(" does not give a valid preprocessing token
我试过的Linux
下以下#define dprintk(args...) printk(args)
这仅适用于 dprintf("Irqs:%lu\n",irqs);
的Visual C++但是不知道args...
我必须在Windows上编译 和Linux(386)平台的源代码或者。
有没有人有想法?