本文共 543 字,大约阅读时间需要 1 分钟。
#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.
#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.
转载地址:http://jpsci.baihongyu.com/