解释标准库和用户定义库之间的区别。

14 浏览
0 Comments

解释标准库和用户定义库之间的区别。

我想要解释一下库中#include指令中< header.h >和\"header.h\"的区别。链接器在哪些位置精确地搜索这些文件?它的搜索顺序是什么?

0
0 Comments

标准库和用户定义库之间的区别在于它们在程序中的引用方式和搜索路径的不同。标准库是系统中提供的库文件,在编译过程中可以通过使用尖括号(< >)来引用,编译器会在系统的包含目录中搜索该库文件。而用户定义库是用户自己编写的库文件,在编译过程中可以通过使用双引号(" ")来引用,编译器会先在当前目录中搜索该库文件,然后再在父目录中搜索。

如果我们将自己编写的库文件保存在当前目录,并且在程序中使用 #include "stdio.h" 来引用它,那么我们自己的库文件将会被包含进来,而不是系统的库文件。所以,使用尖括号(< >)表示引用的是系统标准库,而使用双引号(" ")表示引用的是非标准库。

然而,这并不是绝对的规则,不同的编译器实现可能会有所不同。确定区别的唯一可靠方法是阅读特定编译器的文档。

需要注意的是,上述提到的在父目录中搜索库文件的方式并不是所有编译器都支持的,这取决于具体的编译器实现。

0