
#include <stdio.h> は
デフォルトのインクルードパス(/usr/include/)からstdio.hファイルを
探しますよね?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2006018
ここに書いてあるように
gcc -print-search-dirs を実行してみたのですが、/usr/include の記述は
含まれていませんでした。
http://www.sra.co.jp/wingnut/gcc/gcc-j.html
で-print-search-dirsのオプションの意味を見てみましたがよくわかりませんでした。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「-v」オプションを使用すれば、gccがどのような動作をしているか全て表示されます。
例えは、以下のようにします。============================================================
# cat sample.c ←gccを動作させるためには、プログラムが必要(ここではgccのオプションを見たいだけなので、簡単なプログラムでよい。)
#include <stdio.h>
main() { printf( "Hello, World!!\n" ); }
# gcc -v -I./hogehoge sample.c
Using built-in specs.
Target: i386-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
スレッドモデル: posix
gcc バージョン 4.1.1 20070105 (Red Hat 4.1.1-52)
/usr/libexec/gcc/i386-redhat-linux/4.1.1/cc1 -quiet -v -I./hogehoge sample.c -quiet -dumpbase sample.c -mtune=generic -auxbase sample -version -o /tmp/ccjKdz74.s
存在しないディレクトリ "/usr/lib/gcc/i386-redhat-linux/4.1.1/../../../../i386-redhat-linux/include" を無視します
#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
./hogehoge ←コンパイルオプションで「-I./hogehoge」を指定したので、そのディレクトリを探している。
/usr/local/include
/usr/lib/gcc/i386-redhat-linux/4.1.1/include
/usr/include ←「-I」オプションを指定しなくても、デフォルトで探しにいっている。
探索リストの終わり
GNU C version 4.1.1 20070105 (Red Hat 4.1.1-52) (i386-redhat-linux)
compiled by GNU C version 4.1.1 20070105 (Red Hat 4.1.1-52).
[以下、省略]
#
============================================================
gccがどのようなデフォルト設定で動作しているか、確認してみて下さい。表示されない各種オプションが指定されていることもわかるはずです。
No.2
- 回答日時:
gccで使用されるインクルード場所は、
環境変数INCLUDEに設定されます。
特別設定されていなくても、OSの設定として/usr/include等は
入っています。
特別に追加したい場合は、環境変数INCLUDEに追加するか、
gccのオプションに-I で追加してみてください。
No.1
- 回答日時:
-print-search-dirs は、gcc コマンドがコンパイラ等の本体を探すパスなので、#includeのヘッダファイルの検索場所とは無関係です。
/usr/includeを表示するオプションはわかりません。/usr/include 固定だから表示オプションは無いのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# gcc のコンパイラオプションについて 2 2022/12/21 17:11
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語のマクローリン展開ローラン展開のコードについて 3 2022/12/15 14:45
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- C言語・C++・C# アセンブラ指令 3 2023/06/17 14:47
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Debianでのmakeコマンドインス...
-
apacheのインストールについて
-
apache2のモジュール
-
Solaris10でCコンパイラが見...
-
opensslのrpmインストールとsou...
-
Solaris10でNet-SNMPがインスト...
-
Solaris10 コンパイル エラー
-
*** ターゲット `all' を make ...
-
Apacheのバージョンアップ方法
-
apachectlが使えない
-
makeのエラーメッセージが理解...
-
ソースからmakeした場合の削除方法
-
OpensslのVer.ダウン
-
portsの依存関係確認について
-
makeコマンドができない
-
パソコンでゲームをプレイしよ...
-
お米が4kgで3千円台って、これ...
-
M.2 NVME SSDがWindowsからはア...
-
yumインストール先は、何で決ま...
-
CentOS5.3 mondo Rescueイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccのインクルードパスの確認
-
Debianでのmakeコマンドインス...
-
makeコマンドができない
-
*** ターゲット `all' を make ...
-
OpensslのVer.ダウン
-
Linuxのgccのインクルードパス?
-
makeの際、 Killedとなったり...
-
PHPのインストール
-
./configureの次にmakeが出来ま...
-
apachectlが使えない
-
macos での /usr/local/lib と...
-
ダウンロードファイルなどは、...
-
Solaris10 コンパイル エラー
-
make でエラー
-
makeのエラーメッセージが理解...
-
perlのダウングレード方法
-
XFree86 4.0.2 のインストール...
-
readline インストールについて
-
glibcバージョンアップ
-
solarisのmakeについて
おすすめ情報