インクルード指令のファイル検索順序

インクルードファイルの検索順 組込みエンジニアとしての活動

はじめに

 インクルード指令のファイル検索順序についても、コンパイラ(処理系)によって異なるようです。
まずは、下記の一般的なものを示します。処理系で異なりますので、開発時には文書化(確認)が必要です。

一般的なものインクルード指令のファイル検索順序は、使用する形式による違い

#include “filename.h” の場合

  1. #includeが記述されたファイルと同じディレクトリ
  2. -Iオプションで指定されたディレクトリ(指定順)
  3. コンパイラが提供する標準ヘッダーファイルのディレクトリ
  4. /usr/includeディレクトリ

#include <filename.h> の場合

  1. -Iオプションで指定されたディレクトリ(指定順)
  2. コンパイラが提供する標準ヘッダーファイルのディレクトリ
  3. /usr/includeディレクトリ

注意点:

  • -I-オプションを使用すると、検索順序をさらに細かく制御できます。
  • コンパイラのインストールディレクトリ(/usr/include、/lib、/usr/libなど)を検索ディレクトリに指定することは避けるべきです

 インクルードファイルの検索パスは、コンパイラオプション開発環境の設定で制御できます。プロジェクトの要件に応じて適切に設定することが重要です


コメント

タイトルとURLをコピーしました