编译标志-I之间的区别。没有-I。在GCC

时间:2016-01-05 16:44:01

标签: c gcc compilation

假设我有4个文件(t1.c,t2.c,t3.c,t.h)。

gcc -o test t1.c t2.c t3.c
gcc -o test t1.c t2.c t3.c -I.

在这里,两者都没有错误并给出正确的结果。

我们知道-I.已包含在内,因此gcc将在当前目录(。)中查找包含头文件

上述两个陈述根据其产出有什么区别?

1 个答案:

答案 0 :(得分:3)

“ - 我”。将制作任何包含声明,如

include <stdio.h>

在您安装的版本之前查找当前文件夹中的stdio.h,例如/ usr / include / etc。

因此,如果您的文件夹只包含(t1.c,t2.c,t3.c,t.h),那么就没有区别了。此外,您不需要添加“-I”。如果你将它包括在内,gcc就能找到t.h:

include "t.h"

而不是

include <t.h>