HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

C/C++の#includeディレクティブの" "と< >の違い

気になってたので調べてみた

この2つの違いはプリプロセッサがインクルードファイルを検索する順序とのこと.

#include ディレクティブ (C/C++)

" "(引用符フォーム)

  1. #include のステートメントを含むファイルと同じディレクトリ。
  2. 以前に開いたディレクトリに逆順にファイルを追加します。前回の検索で最後に開かれたインクルードファイルのディレクトリから検索していく?
  3. 各 /I コンパイラ オプションで指定されたパス。
  4. INCLUDE 環境変数で指定されたパス。

< >(山括弧フォーム)

  1. 各 /I コンパイラ オプションで指定されたパスを検索。
  2. コマンドラインからコンパイルする場合、INCLUDE環境変数で指定されるパスに沿ってファイルを検索する。