加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux中Printk()和Printf()的区别

发布时间:2020-12-13 22:58:11 所属栏目:Linux 来源:网络整理
导读:我是 Linux操作系统的新用户,目前我正在学习它.我正在研究OS调试和相关主题,作为一个基本的调试工具,建议打印出有关系统状态的某些信息. 这个任务可以通过上面提到的函数printf()和printk()完成,并且发现“k”代表内核,并且是某种“原始”形式的打印函数. pr
我是 Linux操作系统的新用户,目前我正在学习它.我正在研究OS调试和相关主题,作为一个基本的调试工具,建议打印出有关系统状态的某些信息.

这个任务可以通过上面提到的函数printf()和printk()完成,并且发现“k”代表内核,并且是某种“原始”形式的打印函数. printf()也是由C库而不是内核给出的(不完全确定它的含义).

我想知道除了明显的一个之外是否还有其他优势使用它们(在启动的早期阶段使用printk(),因为printf()还不可用).使用其中两个时可以获得相同的信息吗?

解决方法

printk()是一个内核级函数,它能够打印到< linux / kernel.h>中定义的不同日志级别.

printf()将始终打印到文件描述符 – STD_OUT

The major difference between printk() and printf() is the capability of the former to specify a loglevel. The kernel uses the loglevel to decide whether to print the message to the console. The kernel displays all messages with a loglevel below a specified value on the console.

More Information Here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读