#define PDEBUG(fmt, args...) pri…

来源:互联网 发布:宜宾淘宝店长招聘网 编辑:程序博客网 时间:2024/06/14 23:17

#definePDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args)PDEBUG("a=%d, b=%d", a, b); 在展开宏时, 由于args = a, b, 故展开后变为 printk(KERN_DEBUG "scull: " "a=%d, b=%d", a, b);宏定义中的省略号就是指一串数目不限的参数列表,前面用args只有为了后面引用这串参数.如果在args与省略号之间加入逗号,就变成args= a, 而省略号指向的那串参数只包含一个b.

#define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ##args) PDEBUG("a=%d, b=%d", a, b); 在展开宏时, 由于args = a, b, 故展开后变为printk( KERN_DEBUG "scull: " "a=%d, b=%d", a, b);宏定义中的省略号就是指一串数目不限的参数列表,前面用args只有为了后面引用这串参数.如果在args与省略号之间加入逗号,就变成args= a, 而省略号指向的那串参数只包含一个b.

0 0
原创粉丝点击