Linuxカーネルヘッダファイルの設定

Linuxカーネルヘッダファイルの設定

システムコールの内容を読んだとき、LXRはヘッダファイルを見つけるために「syscalls.h」を検索しました。検索結果が私を混乱させました。 「arch/_arch_name_/include/asm」の下のディレクトリには、12個以上の「syscalls.h」ファイルがあります。大丈夫です。アーキテクチャ固有の定義またはその他の必要事項です。問題は、/include/linuxと/include/asm-genericの下に2つの異なる "syscalls.h"ヘッダファイルがあるのですか?

また、/include/linuxヘッダーがどの用途に使用されるのか、/include/asm-genericヘッダーがどの用途に使用されるのかを知りたいです。彼らはどのように互いに区別されますか? 2つの別々のヘッダーフォルダを持つロジックは何ですか?彼らの関係はどうですか?

ありがとう

ベストアンサー1

次のタイトルは、デフォルトasm/genericでは、アーキテクチャ固有のバージョンが作成されるまで、C言語の移植可能なバージョンの一時的な方法で書かれています。また、場合によっては/usr/include/foobar.h多くの「内部実装」ヘッダーが含まれており、その末尾はカーネルの部分(しばしば同じ部分と呼ばれる)に依存することがわかります。例はmath.hおよび(Linuxによって異なります)ですsyscall.h

おすすめ記事