1. ホーム
  2. c

[解決済み] GCCのインクルードパスが何であるかを調べる [重複].

2023-03-21 01:12:50

質問

をプログラム的に見つけようとしています。 #include のパスをプログラム的に見つけようとしているのですが、私が理解するところでは、実際にはGCCがそれをどう考えているかを見つけることを意味します。(それは本当に正しいですか? Clang はそれをどのように行いますか?)。

によると http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html によると、いくつかのコンポーネントは CPU アーキテクチャと GCC バージョンに関係しています。 特に後者は厄介なようで、次のように実行することで得られると思います。 gcc --version を実行し、その出力を解析することで得られると思います(あるいは gcc -v を使うことができますが、これはよくても優雅ではなく、悪く言えば壊れやすいと思われます。自分のプログラムが GCC でコンパイルされていると仮定して、自分のコード内からそれを行うことは、別の選択肢かもしれませんが、その仮定に依存する必要があります。

それを行うために推奨される方法は何ですか?

どのように解決するのですか?

コマンド

echo | gcc -E -Wp,-v -

は、使用中のインクルードパスを表示します。