我找到了一个带有 Makefile 的源文件捆绑包,浏览了一遍,在 CFLAG 变量中,有一个标志 -I。我在网上搜索过,但无法找到它的实际作用。它是否与 C 文件中包含的库文件相关?(stdio.h, unistd.h, pthread.h) 请指向一个来源或简要解释一下,标志 -I 是什么意思?
在gcc
的手册页中就有(在unix/linux上使用man gcc
或者你可以通过谷歌找到):
-I dir
将目录dir添加到搜索头文件的目录列表中。以-I命名的目录会在标准系统包含目录之前被搜索。如果目录dir是标准系统包含目录,则该选项将被忽略,以确保不破坏系统目录的默认搜索顺序和系统头文件的特殊处理方式。如果dir以"="开头,则"="将被替换为sysroot前缀;请参见--sysroot和-isysroot。
(确切的文本和语义可能在不同版本的gcc之间有所不同)
另外还有在线的gcc文档:http://gcc.gnu.org/onlinedocs/ 例如,版本4.8.2的选项可以在这里找到:http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Directory-Options.html#Directory-Options
man gcc
,会打开一个长长的手册,在里面列出了所有选项。除了gcc
,你也可以在大多数其他命令中使用这个方法。 - user3072164man
使用 less
来显示 man 手册,因此您可以通过 man less
学习如何在其中导航和搜索 ;D。RomanATaycher 的评论解释了如何进行搜索。 - user3072164
-I
的参数添加到包含文件搜索路径中。在Unix / Linux世界中,当需要了解有关gcc
命令行标志的信息时,通常从“man gcc”开始。Google不是正确的工具。 - bobah