没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux:printk与printf的区别
内核层使用printk打印,应用层调用C库的printf打印。在内核层是调用不了文件系统中C库的printf只能用printk。 两者之间的一个显著区别在于printk允许通过指定一个标志来设置优先级(在include/linux/kern_levels.h中定义),不写则默认为级别4(MESSAGE_LOGLEVEL_DEFAULT),级别高于设定的输出级别才可以显示(可在include/linux/printk.h修改宏CONSOLE_LOGLEVEL_DEFAULT设定输出级别,默认为7): 定义 级别 含义 KERN_EMERG 0 最高级别,紧急事件 KERN_A
资源详情
资源评论
资源推荐

Linux::printk与与printf的区别的区别
内核层使用printk打印,应用层调用C库的printf打印。在内核层是调用不了文件系统中C库的printf只能用printk。
两者之间的一个显著区别在于printk允许通过指定一个标志来设置优先级(在include/linux/kern_levels.h中定义),不写则
默认为级别4(MESSAGE_LOGLEVEL_DEFAULT),级别高于设定的输出级别才可以显示(可在include/linux/printk.h修改
宏CONSOLE_LOGLEVEL_DEFAULT设定输出级别,默认为7):
定义定义 级别级别 含义含义
KERN_EMERG 0 最高级别,紧急事件
KERN_ALERT 1 必须立即处理的信息
KERN_CRIT 2 严重的软件或硬件错误
KERN_ERR 3 硬件错误
KERN_WARNING 4 不影响严重错误的警告
KERN_NOTICE 5 需要引起注意的信息
KERN_INFO 6 一般信息
KERN_DEBUG 7 调试信息
在调用过程也是有些差别的,printk函数是直接使用了向终端写函数tty_write(),而printf函数是调用write()系统调用函数向标
准输出设备写。
作者:Lin_RM_CHN


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0