DLL和LIB区别和联系.
在Windows下有.LIB和.DLL两种后缀形式的库
这两者之间有什么区别和联系呢?
lib是库的简称,共有两种
一种包含了函数所在DLL文件和文件中函数位置的信息,代码由运行时加载在进程空间中的DLL提供。称为动态链接库dynamic link library
另一种包含函数代码本身,在编译时直接将代码加入程序当中。称为静态链接库static link library
区别: lib是编译时需要的,dll是运行时需要的。
联系:
在动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,DLL和.LIB文件必须随应用程序一起发行,否则应用程序将会产生错误.这里的lib就是lib的第一种含义.