比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /DLL和LIB的区别

DLL和LIB的区别

2011年6月28日发布的Indika

DLL和自由

库是可用于开发应用程序的资源集合。库通常由子例程、函数、类、值和类型组成。在链接过程中(通常由链接器完成),库和可执行文件相互引用。库文件根据子例程加载到目标应用程序的时间分为静态库和动态库。因此,LIB文件是静态链接库,DLL文件是动态链接库。

DLL是什么?

动态链接库(通常称为DLL)是微软开发的一种共享库实现。它使用。DLL、。ocx或。drv扩展名,它们在Microsoft Windows和OS/2操作系统中使用。. DLL由常规DLL文件使用。而.ocx扩展名由包含ActiveX控件的库使用,.drv扩展名由遗留系统驱动程序文件使用。DLL文件格式与Windows EXE文件相同(32 /64位Windows为可移植可执行文件,16位Windows为新可执行文件)。因此,任何代码、数据和资源的组合都可以包含在DLL文件中(就像在EXE文件中一样)。事实上,具有DLL文件格式的数据文件被称为资源DLL。图标库(扩展名为。icl)和字体文件(扩展名为。fon和。fot)就是资源dll的例子。

被称为节的组件组成了一个DLL,每个节都有自己的属性,比如只读/可写和可执行/不可执行。代码段是可执行的,而数据段是不可执行的。代码段是共享的,数据段是私有的。这意味着所有使用DLL的进程将使用相同的代码副本,而每个进程将拥有自己的数据副本。Windows的主要动态库是kernel32.dll,它包含Windows上的基本函数(文件和内存相关的功能)。COM(组件对象模型)是DLL对OOP(面向对象编程)的扩展。传统的dll比COM文件更容易使用。

自由是什么?

LIB文件是静态库(也称为静态链接库)。LIB文件包含一组子例程、外部函数和变量。LIB文件在编译时解析(与运行时相反)。代码实际上被复制到目标应用程序中。编译器、链接器或绑定器将进行这种解析,并产生一个目标文件和一个可执行文件。这个过程称为静态构建过程。

DLL和LIB的区别是什么?

LIB库可以在编译时调用,但DLL库只能在运行时调用。LIB文件比DLL文件大得多。DLL文件的一个非常常见的问题是版本问题。当DLL的代码被更改,应用程序使用了错误版本的DLL时,就会发生这种情况。这不是与LIB文件相关的问题。就可重用性而言,在编写新版本的系统或全新的应用程序时,dll总是比lib更好。

相关文章:

汇编与DLL的区别 Library和Archive的区别 字典和哈希表的区别 Hashtable和Hashmap的区别 实现和扩展之间的区别

了下:编程标记:. dll扩展,.drv扩展,.fon扩展,.fot扩展,.icl扩展,. ocx扩展,COM文件,DLL文件格式,DLL文件,DLL库,DLL库,动态库,动态链接库,动态链接库,EXE文件,字体文件,图标库,kernel32.dll,自由,LIB文件,LIB文件,LIB库,LIB库,库,图书馆,库文件,微软DLL,资源DLL,静态库,静态库,静态链接库

关于作者:Indika

Indika,二元同步通信。工程硕士,计算机工程博士。计算机科学副教授,主要研究方向为生物信息学、计算生物学和生物医学自然语言处理。

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

白小麦和全麦的区别

环己醇和苯酚有什么不同

环己醇和苯酚有什么不同

HTC Desire HD和HTC Sensation的区别

成长与发展的差异

成长与发展的差异

鳞毛虫与蜕皮虫的区别

鳞毛虫与蜕皮虫的区别

最新的文章

  • 阿伏苯宗和苯的区别是什么
  • 紧密连接和粘附连接的区别是什么
  • 出血性中风和动脉瘤有什么区别
  • 天课和撒迦有什么不同
  • 丘疹和脓疱有什么区别
  • 泛素和辅酶q10有什么不同
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.