繁体   English   中英

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

[英]How do I make standard library calls from the Linux kernel?

我正在调整 linux kernel 的/net目录中的代码。

我正在尝试诸如打印之类的事情,但我发现没有相关的标头(例如stdlib.hstdio.h等)。 那么如何在 kernel 级别执行此操作?

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

另请参阅我的博客文章Linux 模块编程第 1 部分和第 2部分

Kernel 模块无权访问 C 标准库。 kernel 中提供了一些功能; look in the lib directory in the kernel source or in your favorite Linux kernel programming book (if you don't have one, Linux Device Drivers is a good one, and it's available online). 对于 printf 调试,有printk ,它向 kernel 日志发出消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM