动态链接库dll 静态链接库lib 动态导入库lib ,静态库
******1.lib是库的简称,共有两种 ******/
lib是库的简称,共有两种
一种包含了函数所在DLL文件和文件中函数位置的信息,代码由运行时加载在进程空间中的DLL提供。称为动态链接库dynamic link library。(此时的lib估计就是所谓的import导入库)。
另一种包含函数代码本身,在编译时直接将代码加入程序当中。称为静态链接库static link library
当使用VC建立工程时,开发平台会自动为你加上当使用VC建立工程时,开发平台会自动为你加上一些常用LIB,所以你会觉得使用DLL时不需加载LIB,但当你使用一些非常用DLL的时候,就必须手动加入其对应的LIB,否则编译器将无法识别你所使用的DLL函数。
/******2.******/
1、静态lib中,包含实现的二进制码,连接时直接连入Exe文件的地址空间。
2、dll输出的lib,仅含导出函数的地址和一些位址信息,可以帮助Link程序完成连接(在此时安排调用入口地址及函数回调信息)。这样,在运行时才将DLL中真正的代码调入执行,实现动态连接。
/******3.LIB文件和DLL文件的区别******/
(1)lib是编译时需要的,dll是运行时需要的。
如果要完成源代码的编译,有lib就够了。
如果也使动态连接的程序运行起来,有dll就够了。
在开发和调试阶段,当然最好都有。
(2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。
(3)在动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,DLL和.LIB文件必须随应用程序一起发行,否则应用程序将会产生错误。
/******4.第三方的库是静态库******/
很多第三方的库是静态库
它们只有提供头文件和.LIB文件,没有相应的.DLL文件
windows下文件的命名有
动态链接库或者 静态库,而在动态链接库中还可以再包含其他的动态或静态链接 库...静态加载---程序静态编译的时候就静态导入 dll,这样的话就需要提供给库 使用者...
静态链接库 LIB 和动态链接库 DLL VS2008 lib 静态链接 一、 静态链接库与动态链接库区别 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无...
DLL动态链接库和LIB静态链接库_IT/计算机_专业资料。DLL动态链接库和LIB静态链接库1:神马是 Dll 和 Lib,神马是静态链接和动态链接 :, 大家都懂的,DLL 就是...
的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库...静态加载程序静态编译的时候就静态导入 dll,这样的话就需要提供给库使用者(C ...
关于静态链接库(Lib)与动态链接库(DLL)_计算机软件及应用_IT/计算机_专业资料...和目标库文件一样,导入库文件的扩展名也是.LIB,也是在用户程序被链接时,被“...
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接 就是把调用的函数所在文件模块(DLL)和调用函数在...
“静态库”), 另一种为动态连接库(DLL, 以下简称“动态库”)的导入库(...(2009-03-06 12:53:39) 转载标签: 静态链接库 lib 动态链接库分类:编程...
链接库( 下的.dll .lib 和 linux 下的 下的.so .a) 动态链接库及静态链接库(windows 下的 )库有动态与静态两种, 动态通常用.so 为后缀, 静态用.a 为...
静态链接库LIB和动态链接库DLL的区别 创建和示例 1.什么是静态连接库,什么是...lib.h" #pragma comment(lib,"..\\debug\\libTest.lib") //指定与静态库...
动态链接库(dll)和静态库的创建及使用教程_IT/计算机_专业资料。本文档包含...有 关更多信息,请参见 /c(编译但不链接) 。接着,使用库管理器 Lib.exe ...
热门文档