首先你要知道什么是接口,什么是实现, 一个函数的声明称为接口,一个函数的定义叫实现,我们用一个库时,首先要包含库的头文件,即导入库的接口,目的是为了在编译阶段检查有关调用库函数的代码时是否是正确的函数原型或数据结构类型等,注意,只是为了编译时检查。库是将所有的函数实现并编译成二进制文件,最终只有你的程序编译之后再和库的二进制文件做一个链接,才能形成一个包含库代码的可执行文件,这种库称为静态库,还有一种库叫动态库,有一些库的代码会被多个应用程序链接使用,这时如果还采用静态库的话,那么每个应用程序都会拥有一份这个库的二进制代码,这样造成内存资源浪费,所以操作系统为了避免浪费,先将一些通用的库代码运行起来,一旦运行起来,那么这个库中的函数就有了地址,那么我们的应用程序为了使用这个库的代码,只需要在加载前知道这些函数的地址即可完成对库的代码的调用。