Linux-Kernel

了解linux核心中的include目錄

  • September 6, 2018

誰能解釋一下為什麼標頭檔被分成包含目錄以及arch下?

如果我想連結我的原始碼以包含標頭檔,我應該從哪裡實際獲取它?

include/

或者

arch/arm/

我正在 ARM 主機上編寫程序(不是交叉編譯)

有人可以解釋核心中標頭檔的結構嗎?它們是如何傳播的及其背後的邏輯?

如果您正在編寫使用者空間程序,則不應直接使用核心標頭檔(無論是來自arch還是include——後者根據您的架構包括前者)。您需要使用為使用者空間程序準備的標頭檔。這些通常在發行版中作為單獨的包提供,例如 linux-libc-dev在 Debian 上;或者您可以按照上面連結的說明自行準備。

至於核心中標頭檔的組織方式,所有公共標頭檔都在include其子目錄中,而特定於體系結構的標頭檔則在相應arch目錄的子目錄中。在大多數情況下,您會包含來自include(編寫核心程式碼時)的標頭。

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