通常、ファイルが含まれていた方法によって異なります。このような引用符が含まれている場合:
#include "QuotedHeader.h"
同じディレクトリにある必要があります。(「インクルード」ディレクトリにある
場合もあります。) 次のように山かっこでインクルードする場合:
#include <BracketedHeader.h>
「include」ディレクトリにあります。これらは、コンパイラーがコンパイル時にヘッダー ファイルを検索するように指示されるディレクトリです。これらはパラメーターとして渡すか、環境変数に設定できます。
提供されている例では、ディレクトリが重複している理由を明確に示しています。一般に、異なるアーキテクチャ固有のファイルは、異なるアーキテクチャの名前の付いたフォルダで区切られています。提供されている例では、 AlphaアーキテクチャとARM
アーキテクチャ
の異なる fcntl.h ファイルを見ています。コンパイラが使用するファイルは、コンパイル対象の CPU によって異なり、コンパイル時に使用するファイルがコンパイラに通知されます。
私の個人的な意見では、これをまだ知らない場合は、Linux カーネルを理解するのに間違ったところから始めている可能性があります。最初にCを研究してみてください