如何从Linux内核进行标准库调用?

时间:2011-08-10 10:08:23

标签: linux kernel c

我正在调整驻留在linux内核的/net目录中的代码。

我正在尝试打印等内容,但我发现没有相关的标题(例如stdlib.hstdio.h等)。那么如何在内核级别执行此操作呢?

2 个答案:

答案 0 :(得分:5)

您不能在内核中使用任何用户空间库函数,您应该只使用内核导出的函数。所以,不会有stdio.hstdlib.h等。如果你想在内核中打印一些东西,你有printk()函数,这相当于printf() in用户空间。

另请参阅我的博文Linux Module Programming Part1Part2

答案 1 :(得分:2)

内核模块无权访问C标准库。内核中有一些函数可用;查看内核源代码中的lib directory或您喜欢的Linux内核编程手册(如果没有,Linux Device Drivers是一个很好的,并且可以在线获得)。对于printf调试,有printk,它向内核日志发送消息。