ヘッダーファイルがインクルードディレクトリとアーチで区切られている理由を説明できる人はいますか?
ヘッダーファイルを含めるためにソースコードをリンクするには、実際にどこから入手できますか?
include/
または
arch/arm/
ARMホストでプログラムを作成しています(クロスコンパイルではありません)。
誰かがカーネルのヘッダファイル構造を説明できますか?どのように広がっていて、その背後に隠れている論理は何ですか?
答え1
ユーザー空間プログラムを作成する場合は、カーネルヘッダーを直接使用しないでください(またはarch
後者include
には、アーキテクチャに適した前者が含まれています)。使用する必要がありますユーザー空間プログラムで使用するヘッダーの準備。これらは通常、ディストリビューションで別々のパッケージとして提供されます。例えば linux-libc-dev
Debian では、上記の手順に従って直接準備できます。
カーネルのヘッダーファイル構成は、すべてのパブリックヘッダーファイルがinclude
カーネルのサブディレクトリとそのサブディレクトリにあり、アーキテクチャ固有のヘッダファイルはそのディレクトリのサブディレクトリにありarch
ます。ほとんどの場合、include
カーネルコードを書くときにヘッダーが含まれます。