✍ dations ◷ 2025-04-26 23:08:17 #电脑术语,计算机编程,计算机程序库

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

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

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

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

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

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

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

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

相关

  • 浓度浓度指某物质在总量中所占的分量。常用的浓度表示法有: 次数
  • 通奸通奸(英语:adultery),源自拉丁文的adulterium,又称为婚外性行为,是法律和道德性质的名称。一般指在一定情况下发生而违反法律或道德的人类性行为,通常泛指有配偶者与第三者出于自愿
  • 时代杂志封面人物这是1920年代的《时代杂志》封面人物列表:
  • 硬木硬木(hardwood),或称硬植木,即为阔叶树材,指由被子植物门的树所生成的木材。硬木与又称做软木的针叶树材刚好成一对比。硬木一般密度较高及较硬实,但硬木及软木的真正硬度差异很大
  • 关于全面禁止非法野生动物交易、革除滥食野生动物陋习、切实保障人民群众生命健康安全的决定《全国人民代表大会常务委员会关于全面禁止非法野生动物交易、革除滥食野生动物陋习、切实保障人民群众生命健康安全的决定》是第十三届全国人民代表大会常务委员会于2020年
  • 北人党北人党(韩语:북인),是朝鲜王朝宣祖时的两班朋党东人党中分裂出的朋党。建立于1591年,在1624年后基本退出政治舞台,其名称来自领导人李山海祖籍汉北和李泼(朝鲜语:이발 (1544년))在汉
  • 尼布楚河尼布楚河是俄罗斯的河流,位于外贝加尔边疆区,属于石勒喀河的左支流,河道全长580公里,流域面积27,500平方公里,河流在10月至4月结冰,河畔城镇有尼布楚。
  • 京基100京基100(KK100,前称Kingkey 100),原名京基金融中心(Kingkey Finance Tower),楼高441.8米,共100层, 超越了原深圳第一高楼383.95米的地王大厦,是平安金融中心建成前深圳第一高楼、中国
  • 1954年1954年NBA选秀(1954 NBA draft)是国家篮球协会(NBA)的第八次年度选秀。本次选秀于1954年4月24日举行,9支NBA球队轮流从美国大学篮球业余运动员中挑选新队员。在每一轮选秀中,各队
  • 迎宾馆赤坂离宫坐标:35°40′48″N 139°43′43″E / 35.68000°N 139.72861°E / 35.68000; 139.72861迎宾馆赤坂离宫(日语:迎賓館赤坂離宮/げいひんかんあかさかりきゅう  */?),也称赤坂迎宾