Loose-Info.com
Last Update 2021/12/15
TOP - 各種テスト - gcc - -H オプション

-H
使用されているヘッダファイルの一覧を出力

テスト概要

-Hオプションの出力例

実行環境

GCC-8.2.0
GNU C Library 2.28
GNU Binutils 2.31.1


コード例・出力内容中の表記

・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。

使用ファイル

sample.h
#ifndef SAMPLE_H #define SAMPLE_H #include <stdio.h> #include "func.h" #endif /* SAMPLE_H */

sample.c
#include "sample.h" int main(void) { sampFunc(); printf("sample\n"); return 0; }

func.h
#ifndef FUNC_H #define FUNC_H void sampFunc(void); #endif /* FUNC_H */

func.c
#include "func.h" void sampFunc(void) { }

動作テスト

-Hオプションの出力例
$ ls -l total 16 -rw-r--r-- 1 ****** ******** 44 *** ** **:** func.c -rw-r--r-- 1 ****** ******** 74 *** ** **:** func.h -rw-r--r-- 1 ****** ******** 88 *** ** **:** sample.c -rw-r--r-- 1 ****** ******** 96 *** ** **:** sample.h $ gcc -H sample.c func.c . sample.h .. /usr/include/stdio.h ... /usr/include/bits/libc-header-start.h .... /usr/include/features.h ..... /usr/include/sys/cdefs.h ...... /usr/include/bits/wordsize.h ...... /usr/include/bits/long-double.h ..... /usr/include/gnu/stubs.h ...... /usr/include/gnu/stubs-64.h ... /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stddef.h ... /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stdarg.h ... /usr/include/bits/types.h .... /usr/include/bits/wordsize.h .... /usr/include/bits/typesizes.h ... /usr/include/bits/types/__fpos_t.h .... /usr/include/bits/types/__mbstate_t.h ... /usr/include/bits/types/__fpos64_t.h ... /usr/include/bits/types/__FILE.h ... /usr/include/bits/types/FILE.h ... /usr/include/bits/types/struct_FILE.h ... /usr/include/bits/stdio_lim.h ... /usr/include/bits/sys_errlist.h .. func.h Multiple include guards may be useful for: /usr/include/bits/libc-header-start.h /usr/include/bits/long-double.h /usr/include/bits/sys_errlist.h /usr/include/bits/typesizes.h /usr/include/gnu/stubs-64.h /usr/include/gnu/stubs.h /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/stddef.h . func.h $ ls -l total 36 -rwxr-xr-x 1 ****** ******** 18392 *** ** **:** a.out -rw-r--r-- 1 ****** ******** 44 *** ** **:** func.c -rw-r--r-- 1 ****** ******** 74 *** ** **:** func.h -rw-r--r-- 1 ****** ******** 88 *** ** **:** sample.c -rw-r--r-- 1 ****** ******** 96 *** ** **:** sample.h $ 使用されたヘッダファイルリストの出力、およびコンパイルの実行完了 ヘッダファイルリストは#includeスタックの深さを表すインデント有り