簡體   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