一个例子printk
call:
printk(KERN_INFO "Log message.\n");
也许这个问题更多地是关于C的,因为我之前从未见过C中的函数可以不用逗号分隔参数。
这是如何运作的?编译器如何处理这些信息?由于日志级别是一个整数,而消息是一个指向字符数组的指针,因此必须单独传递它们。
The printk()
函数只需要一个const char*
争论。这KERN_INFO
宏扩展为"\001" "6"
,产生:
printk("\001" "6" "Log message.\n");
C 词法分析器连接相邻的字符串文字标记,这意味着
将上式转换为:
printk("\0016Log message.\n");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)