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

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

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

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

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

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

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

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

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

相关

  • 阿米什人美国(主要在俄亥俄州、宾夕法尼亚州、印第安纳州及纽约) 加拿大(主要在阿米什人(Amish)是基督新教重洗派门诺会中的一个信徒分支(又称亚米胥派),以拒绝汽车及电力等现代设施,过着简
  • 地毯地毯(又称地毡),是一种纺织物,铺放于地上,作为家俬装修设施,有美化家居,保温等功能。尤其家中有幼童或长者,可以避免摔倒受伤。挂毯是挂在墙上的毛毯,未必称为地毯。 亦有专栏指出早
  • 军事组织军事组织,意指依据类别或功能,将武装部队组织起来,使其成为一个阶层化结构分明、可灵活运用、利于作战的团队。或者一个组织带有军事性质,拥有武装力量,并以此力量推动其目的,该组
  • 食人动物食人动物(英语:Man-eater)是指那些会捕食人类的动物(不包括食腐动物)。虽然袭人致死的动物有很多种,但是大多动物一般都是为了防卫领地而攻击,但是食人动物在特定情况下(例如误判等)
  • 最佳男主角奖奥斯卡最佳男主角奖是美国电影艺术与科学学院颁发的一个年度奖项,旨在奖项在电影中有杰出表现的男性主演演员。奖项于1929年的第1届奥斯卡颁奖典礼上首度颁发,获奖者是主演《
  • 乡君清太祖皇七女(1604年-1685年),清太祖努尔哈赤的七女儿。她的生母是庶妃伊尔根觉罗氏,1604年三月出生。她在1619年十月,嫁给了纳喇氏的鄂札伊。后封乡君品级。崇德六年(1641年)四月,鄂
  • 国立感染症研究所所有坐标的地图 - OSM 所有坐标的地图 - Google 所有上至200个坐标的地图 - Bing国立感染症研究所(日语:国立感染症研究所/こくりつかんせんしょうけんきゅうしょ、英语:Nationa
  • 哈里河哈里河(波斯语:هری‌رود‎,土库曼语:Tejen,Tedzhen),又名捷詹河,从阿富汗中部山区流入土库曼斯坦,消失于卡拉库姆沙漠中,全长约1150公里,流量每秒31立方米,集水面积约7万平方公里
  • 火猫直播火猫直播,是一个中国大陆以游戏直播为主的视频直播分享网站,2014年成立,该网站主要以游戏视频直播为主,也有体育、综艺、娱乐等内容。1月16日,火猫TV的拥有方耀宇公司发布公函称,
  • 亚利桑那州议会亚利桑那州议会是美国亚利桑那州的立法机构。亚利桑那州议会为两院制,包含亚利桑那州参议院(英语:Arizona State Senate)与亚利桑那州众议院(英语:Arizona House of Representativ