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"