簡體   English   中英

我可以在內核模塊中調用在內核源文件的另一個頭文件中定義的靜態內聯函數嗎?

[英]In kernel module can I call static inline function defined in another header file of the kernel source?

我會盡力弄清楚這個問題。 我正在開發一個可加載的內核模塊,只是想知道是否可以調用在Linux內核源代碼的另一個頭文件中定義的靜態內聯函數。 我知道static關鍵字將功能限制在編譯單元(即C文件)的范圍內。 但是,如果我包括在其中定義了靜態內聯函數的頭文件,是否可以在我的模塊中使用它?

是否可以調用在Linux內核源的另一個頭文件中定義的靜態內聯函數?

是。 可能。 kmalloc()就是一個例子。 該函數在include / linux / slab.h中定義為static inline函數。 建議閱讀這篇文章, 文章解釋了為什么在頭文件中使用靜態內聯。

參考
http://lxr.free-electrons.com/source/include/linux/slab.h#L452
“靜態”和“靜態內聯”功能有什么區別?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM