请教VC中.DLL文件与.LIB文件的区别

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:52:29

一般的LIB文件是“导入库”,用来提供给link.exe,作为链接DLL——也就是“动态链接库”的依据。里面记录了类似下面的信息:

调用函数xxx(),连接到x.dll的0xABCDEFGH地址;……

早期的LIB,是“静态链接库”,也是用来提供给link.exe,作为链接代码用的。里面的记录如下:

调用xxx(),其代码是……;

我意思是想说明,DLL的LIB(导入库),不含可执行的具体代码(代码在DLL中)。而最早的LIB(静态链接库),里面含有代码。所以,可以看出来,如果一个函数被调用多次,使用DLL(动态链接技术),可以节省一些硬盘和内存空间!而用LIB(静态链接技术),每次调用,都会链接入相同的代码,造成一些空间上的浪费。不过它的好处是不需要进行一个“查找”工作(也就是找到LIB文件中说的DLL的“函数入口点”,就是例子里的0xABCDEFGH地址,可以获得更高的效率)。

就是这些吧。