C语言:关于库文件的查找

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:26:35
在C中要用到别人写的函数,就要include其对应的头文件。函数库是以.o文件的形式提供的,那编译器怎么知道该.h对应的.o的存放位置呢?
如果我要使用一个库函数,不include其头文件,只在代码段中写一遍其函数原型,这样可以么?编译器可以找到其对应的.o文件么?它是怎么找到的?

形成的*.o文件是原文件作者不想让你看到代码给做的。
它需要MAKE规则,例如:
myhello.o : myhello.c myhello.h (具体可以参看MAKE手册)
当然了,以上的内容对于使用者都是不可见的(透明)
这就解释了,什么样的.h对应什么样的.o。
当你使用.o的时候需要为编译器指定路径,这就解释了编译器怎么知道的存放的位置。
——————————————————————
如果我要使用一个库函数,不include其头文件,只在代码段中写一遍其函数原型,这样可以么?
——————————————————————
答案是不可以,因为.o已经根据MAKE规则生成了,言下之意是你声明的原型和.o没有关系。