如何获取C源文件中包含的所有头文件的列表?

Aab*_*eed 0 c python parsing

我试过用#includePython 解析文件.我试图使用sed命令匹配模式.这两种方式我都得到垃圾数据.例如,如果在某些评论中我也/* #include "header.h" */得到了那些行.怎么避免这个?

Jon*_*ler 5

GCC支持该-H选项.考虑源文件hw.c:

#include <stdio.h>
int main(void) { puts("Hello world"); return 0; }
Run Code Online (Sandbox Code Playgroud)

在带有GCC 4.8.1的Mac OS X 10.9.4上:

$ gcc -H -c hw.c
. /usr/include/stdio.h
.. /usr/include/sys/cdefs.h
... /usr/include/sys/_symbol_aliasing.h
... /usr/include/sys/_posix_availability.h
.. /usr/include/Availability.h
... /usr/include/AvailabilityInternal.h
.. /usr/include/_types.h
... /usr/include/sys/_types.h
.... /usr/include/machine/_types.h
..... /usr/include/i386/_types.h
.. /usr/include/sys/_types/_va_list.h
.. /usr/include/sys/_types/_size_t.h
.. /usr/include/sys/_types/_null.h
.. /usr/include/sys/_types/_off_t.h
.. /usr/include/sys/_types/_ssize_t.h
.. /usr/include/secure/_stdio.h
... /usr/include/secure/_common.h
Multiple include guards may be useful for:
/usr/include/secure/_stdio.h
/usr/include/sys/_posix_availability.h
/usr/include/sys/_symbol_aliasing.h
$
Run Code Online (Sandbox Code Playgroud)