はじめに
インクルード指令のファイル検索順序についても、コンパイラ(処理系)によって異なるようです。
まずは、下記の一般的なものを示します。処理系で異なりますので、開発時には文書化(確認)が必要です。
一般的なものインクルード指令のファイル検索順序は、使用する形式による違い
#include “filename.h” の場合
- #includeが記述されたファイルと同じディレクトリ
- -Iオプションで指定されたディレクトリ(指定順)
- コンパイラが提供する標準ヘッダーファイルのディレクトリ
- /usr/includeディレクトリ
#include <filename.h> の場合
- -Iオプションで指定されたディレクトリ(指定順)
- コンパイラが提供する標準ヘッダーファイルのディレクトリ
- /usr/includeディレクトリ
注意点:
- -I-オプションを使用すると、検索順序をさらに細かく制御できます。
- コンパイラのインストールディレクトリ(/usr/include、/lib、/usr/libなど)を検索ディレクトリに指定することは避けるべきです
インクルードファイルの検索パスは、コンパイラオプションや開発環境の設定で制御できます。プロジェクトの要件に応じて適切に設定することが重要です
コメント