Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C库includes中的路径_C_Gcc - Fatal编程技术网

C库includes中的路径

C库includes中的路径,c,gcc,C,Gcc,可能重复: 我正在创建一个共享的C库。包括在内有什么区别吗 #include <mylib/someheader.h> 来自此库的*.c或*.h文件?取决于编译器。其中一些可能在“系统”包含路径和“仅”包含路径之间有所不同。表示系统包含路径。第一个版本用于系统标头,第二个版本用于外部标头。 大多数编译器都会找到正确的头文件,不管是什么符号。当它是您自己的头文件时,您会使用引号。此外,如果您省略头文件的路径,只包含名称,则大型项目的可读性会更高。您可以使用-I标志为gcc指定其他i

可能重复:

我正在创建一个共享的C库。包括在内有什么区别吗

#include <mylib/someheader.h>

来自此库的
*.c
*.h
文件?

取决于编译器。其中一些可能在“系统”包含路径和“仅”包含路径之间有所不同。表示系统包含路径。第一个版本用于系统标头,第二个版本用于外部标头。
大多数编译器都会找到正确的头文件,不管是什么符号。

当它是您自己的头文件时,您会使用引号。此外,如果您省略头文件的路径,只包含名称,则大型项目的可读性会更高。您可以使用-I标志为gcc指定其他include目录,例如:
gcc-csomefile.c-osomeobj.o-I./mylib
@Wug:这可能会导致严重的冲突。@James这是一个大型项目。每个大型项目都是这样做的。如果你做了一些令人讨厌的事情,比如有多个同名的头,那么它只会导致令人讨厌的冲突,因此如果发生冲突,那是你自己的错。另外,ohey,还有一个选项,可以修改“包括搜索:
gcc-c somefile.c-o someobj.o-ikote./mylib
的路径,我相信这两个路径都会搜索相同的位置,区别在于,首先搜索库位置,然后“”首先搜索用户位置。因此,基本上,如果这涉及gcc,则始终可以选择阅读手册:
#include "mylib/someheader.h"