[英]How do I make standard library calls from the Linux kernel?
我正在調整 linux kernel 的/net
目錄中的代碼。
我正在嘗試諸如打印之類的事情,但我發現沒有相關的標頭(例如stdlib.h
、 stdio.h
等)。 那么如何在 kernel 級別執行此操作?
您不能使用 kernel 中的任何用戶空間庫函數,您應該只使用 kernel 導出的函數。 因此,不會有stdio.h
、 stdlib.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.