[英]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.