检查哪些文件是'make'包括

时间:2013-10-18 14:32:25

标签: c gcc makefile

我正在编译内核模块,我包括<asm/unistd.h>,但我不确定编译器是否使用unistd.h中的/usr/includes/(错误)或者来自/usr/src/kernel-3.x.x/arch/x86/includes/(右)。

我的问题是:如何检查这两个中的哪一个是编译器使用?

另外,有没有办法从内核头文件强制文件而不是/usr/include中的文件?

2 个答案:

答案 0 :(得分:1)

cpp code.c | grep unistd.h

gcc -E code.c | grep unistd.h

答案 1 :(得分:1)

回答问题的第二部分:

还有,有没有办法从内核头文件强制文件而不是/usr/include中的文件?

您可以将-nostdinc选项传递给gcc

&#34;不要在标准系统目录中搜索头文件。仅搜索您使用-I选项指定的目录(以及当前文件的目录,如果适用)。&#34;

GCC: Options Controlling the Preprocessor