✍ dations ◷ 2025-09-10 08:24:20 #电脑术语,计算机编程,计算机程序库

在计算机科学中,库(英语:library)是用于开发软件的子程序集合。库和可执行文件的区别是,库不是独立的计算机程序,他们是向其他程序提供服务的代码。

库链接(英语:linking)是指把一个或多个库包括到程序中,有两种链接形式:静态链接和动态链接;相应的,前者链接的库叫做静态库,后者的叫做动态库。

静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。

静态链接的最大缺点是生成的可执行文件太大,需要更多的系统资源,在装入内存时也会消耗更多的时间。

动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。在这些系统上,可执行文件包含一个叫做的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。可执行程序根据更新后的库信息调用库中的函数或引用库中的数据。这种类型的动态加载称为装载(load-time)时加载,被包括Windows和Linux的大多数系统采用。装载程序在加载应用软件时要完成的最复杂的工作之一就是加载时链接。

其他操作系统可能在运行时解析引用。在这些系统上,可执行程序调用操作系统API将库的名字、函数在库中的编号和函数参数一同传递。操作系统负责立即解析然后代表应用调用合适的函数。这种动态链接叫做运行时链接。因为每个调用都会有系统开销,运行时链接要慢得多,对应用的性能有负面影响。现代操作系统已经很少使用运行时链接。

可以动态链接的库,在Windows上是,在UNIX或Linux上是。库文件是预先编译链接好的可执行文件,存储在计算机的硬盘上。大多数情况下,同一时间多个应用可以使用一个库的同一份拷贝,操作系统不需要加载这个库的多个实例。

动态链接的最大缺点是可执行程序依赖分别存储的库文件才能正确执行。如果库文件被删除、移动、重命名或者被替换为不兼容的版本,那么可执行程序就可能工作不正常。这就是常说的DLL-hell。

相关

  • 耳部疾病ICD-10 第八章:耳和乳突疾病,为世界卫生组织创建的ICD-10中涉及耳与乳突的疾病分类。外耳疾病(H60-H62)中耳和乳突疾病(H65-H75)内耳疾病(H80-H83)耳的其他疾患(H90-H95)
  • 生理学生理学(英语:physiology/ˌfɪziˈɒlədʒi/; 来自古希腊语 φύσις (physis),意即:“nature, origin”,和 -λογία (-logia),意即:“study of” ) 是生物学的一门子领域,研
  • 意大利历史意大利是欧洲历史古国,在旧石器时代就已有人类在这片土地上生活。伊特鲁里亚、大希腊是欧洲文明古国。罗马共和国和罗马帝国曾经统治世界的一部分达数个世纪,为后世留下深远的
  • 限制性修饰系统限制修饰系统(英语:Restriction modification system)是一种存在于细菌(可能还有其他原核生物),可保护个体免于外来DNA(如噬菌体)的侵入。有些细菌体内含有限制酶,可将双股DNA切断,之
  • 禁中并公家诸法度禁中并公家诸法度是江戸幕府确立它与天皇和公家关系的法律,共有17条。也称为禁中并公家中诸法度、禁中并公家诸法度或禁中方御条目等。禁中并公家诸法度是德川家康命令金地院
  • 投诉投诉是一种沟通方法,例如甲方不满乙方提供的服务、产品或安排。投诉主要目的是要求改善、补偿。在某些当局定义,投诉必须具体附上真实姓名、地址、电话,投诉对象人物、地点、时
  • 崔泓熙崔泓熙(최홍희,1918年11月9日-2002年6月15日)是一位韩国将军,也是国际跆拳道联盟(ITF)的建立者和第一任总裁。在跆拳道历史上,他是一位有争议的人物——他创建的国际跆拳道联盟(ITF)称
  • 斯坦莫尔坐标:51°37′01″N 0°19′30″W / 51.6170°N 0.3250°W / 51.6170; -0.3250史丹摩(Stanmore)是伦敦西北部郊区的一个地区,属于哈洛伦敦自治市。史丹摩位于查令十字西北11英里
  • 朗讯科技朗讯科技有限公司(英语:Lucent Technologies, Inc.)是一家提供电信软硬件设备及服务的跨国公司,总部设于美国新泽西州莫瑞山(英语:Murray Hill, New Jersey)。它于1996年9月30日从A
  • 高氯酸高氯酸是一种无机化合物,化学式为HClO4,是一种强酸,有强烈的腐蚀性、刺激性,通常以无色水溶液的形式存在。高氯酸的酸酐为Cl2O7。高氯酸的酸性强于硫酸、硝酸。热的高氯酸是一种