请教VC中.DLL文件与.LIB文件的区别
发布网友
发布时间:2022-04-24 00:44
我来回答
共1个回答
热心网友
时间:2023-07-12 20:41
一般的LIB文件是“导入库”,用来提供给link.exe,作为链接DLL——也就是“动态链接库”的依据。里面记录了类似下面的信息:
调用函数xxx(),连接到x.dll的0xABCDEFGH地址;……
早期的LIB,是“静态链接库”,也是用来提供给link.exe,作为链接代码用的。里面的记录如下:
调用xxx(),其代码是……;
我意思是想说明,DLL的LIB(导入库),不含可执行的具体代码(代码在DLL中)。而最早的LIB(静态链接库),里面含有代码。所以,可以看出来,如果一个函数被调用多次,使用DLL(动态链接技术),可以节省一些硬盘和内存空间!而用LIB(静态链接技术),每次调用,都会链接入相同的代码,造成一些空间上的浪费。不过它的好处是不需要进行一个“查找”工作(也就是找到LIB文件中说的DLL的“函数入口点”,就是例子里的0xABCDEFGH地址,可以获得更高的效率)。
就是这些吧。