質問: linuxカーネルヘッダーとは正確には何ですか? 重複の可能性: カーネルソースツリーには何が含まれていますか?これはlinuxカーネルヘッダーに関連していますか? 自分のlinuxカーネルをコンパイルする場合、linuxカーネルヘッダーが必要であることはわかっていますが、正確には何がいいのでしょうか。/usr/src/数十のcヘッダーファイルがあるようです。しかし、それらの目的は何ですか?それらはカーネルソースに直接含まれていませんか?
回答: ヘッダーファイルは、インターフェイスを定義します。これらは、ソースファイル内の関数の定義方法を指定します。これらは、ヘッダーファイルに関数のシグネチャ(戻り値とパラメーター)が存在するため、コンパイラーが関数の使用法が正しいかどうかを確認できるようにするために使用されます。このタスクでは、関数の実際の実装は必要ありません。完全なカーネルソースでも同じことができますが、不要なファイルをたくさんインストールします。例:関数を使用したい場合int foo(double param); プログラムでは、fooの実装がどのようであるかを知る必要はありません。単一のパラメーター(double)を受け入れ、整数を返すことだけを知っている必要があります。