2014-03-03 19 views
5

我发现一个带有Makefile的源文件包,我经历了它,并且在CFLAG变量中,有一个FLAG -I,我在网上搜索到了,但是不能找到它实际上做了什么。这与C文件中包含的库文件有关吗? (stdio.h,unistd.h,pthread.h)-I在GCC(Linux)中的标记

请给我一个资料来源或简要解释,标志-I做了什么?

-Regards

+0

它指示编译器将标志'-I'的参数添加到包含文件搜索路径。在Unix/Linux世界中,当需要查找'gcc'的命令行标志时,通常从'man gcc'开始。谷歌不是正确的工具。 – bobah

回答

2

这是正确的,在中gcc手册页(调用man gcc在Unix/Linux or you can find it via Google):

-IDIR

添加目录dir到要搜索头文件的目录列表。在标准系统包含目录之前搜索由-I命名的目录。如果目录目录是一个标准系统包含目录,则忽略该选项以确保系统目录的默认搜索顺序和系统头文件的特殊处理不会失败。如果dir以“=”开头,则“=”将被sysroot前缀替换;请参阅--sysroot-isysroothttp://gcc.gnu.org/onlinedocs/为4.8.2版本的选项,作为一个例子,可以在这里找到:

另外还有gcc的在线文档(确切的文本和语义可能的gcc版本之间的差异): http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Directory-Options.html#Directory-Options

+0

谢谢,我明白了。你能告诉我,我们怎么能用'人'来搜索这个国旗?我的意思是,我尝试过'我 - 我','我',但没有帮助。 – Fawzan

+1

@Fawzan这是'man gcc'和一个长手册将打开,在那里列出所有选项。而不是'gcc',你也可以将其用于大多数其他命令。 – Nabla

+0

很酷,我用过了。是的,我有一个长页。可能是我们可以使用grep或其他东西来搜索手册页。 :) – Fawzan