Kernel

文件 linux/kernel.h 到底在哪裡?

  • May 23, 2020

我正在閱讀 Salzman 的 Linux Kernel Module Programming Guide,我想知道文件 linux/kernel.h 的位置。我找不到它find。或者更確切地說,我發現的文件中沒有任何printk優先宏。

用於模組建構的linux/kernel.h標頭檔是核心原始碼的一部分。在核心原始碼樹中建構模組時,就是使用的版本。

對於外部模組建構,建構過程在/lib/modules/$(uname -r)/build/include/linux/sched.h. 該文件由核心頭包提供,例如在 Debian 衍生產品中,該linux-headers-$(uname -r)包。

/usr/include/linux/kernel.h適用於使用者程序,而不是核心模組。

printk優先級宏現在位於和linux/printk.hlinux/kern_levels.h。我猜您正在閱讀基於 2.6 核心系列的原始指南;對於現代核心,您應該閱讀更新的指南(目前為5.6.7)。

引用自:https://unix.stackexchange.com/questions/434136