Linux-Kernel
了解linux核心中的include目錄
誰能解釋一下為什麼標頭檔被分成包含目錄以及arch下?
如果我想連結我的原始碼以包含標頭檔,我應該從哪裡實際獲取它?
include/
或者
arch/arm/
我正在 ARM 主機上編寫程序(不是交叉編譯)
有人可以解釋核心中標頭檔的結構嗎?它們是如何傳播的及其背後的邏輯?
如果您正在編寫使用者空間程序,則不應直接使用核心標頭檔(無論是來自
arch
還是include
——後者根據您的架構包括前者)。您需要使用為使用者空間程序準備的標頭檔。這些通常在發行版中作為單獨的包提供,例如linux-libc-dev
在 Debian 上;或者您可以按照上面連結的說明自行準備。至於核心中標頭檔的組織方式,所有公共標頭檔都在
include
其子目錄中,而特定於體系結構的標頭檔則在相應arch
目錄的子目錄中。在大多數情況下,您會包含來自include
(編寫核心程式碼時)的標頭。