什么是Library

夔光霁
2023-12-01

在计算机科学中,library是计算机程序经常用于软件开发的非易失性资源的集合。这些可能包括配置数据,文档,帮助数据,消息模板,预编写的代码和子例程,类,值或类型规范。在IBM OS / 360及其后续版本中,它们称为分区数据集。

一个library也是行为的实现,写的语言术语的集合,有一个定义良好的接口,通过该行为被调用。例如,想要编写更高级别程序的人可以使用library(库)进行系统调用,而不必一次又一次地实现这些系统调用。此外,该行为提供了供多个独立程序重用。程序通过语言机制调用库提供的行为。例如,使用简单的命令式语言例如C,则使用C的常规函数​​调用来调用库中的行为。将调用区分为对库函数的区别,而不是对同一程序中的另一个函数的区别是,代码在系统中的组织方式。

library(库)代码以这样一种方式组织:可以由彼此不连接的多个程序使用,而作为程序一部分的代码被组织为仅在该程序中使用。当程序(例如,数百万行的程序)变大时,这种区别可以获得分层概念。在这种情况下,可能会有内部库被大型程序的独立子部分重用。区别特征在于,组织库的目的是要被独立程序或子程序重用,并且用户只需要知道接口,而无需了解库的内部细节。

库的价值在于行为的重用。当程序调用一个库时,它将获得在该库内实现的行为,而不必自己实现该行为。库鼓励以模块化方式共享代码,并简化代码的分发。

可以在不同的程序生命周期阶段将由库实现的行为连接到调用程序。如果在调用程序的构建过程中访问了库的代码,则该库称为静态库。[1]替代方法是构建调用程序的可执行文件,并独立于库的实现分发该可执行文件。在开始执行可执行文件之后(无论是作为开始执行过程的一部分,还是在执行过程中),都将连接库行为。在这种情况下,该库称为动态库(在运行时加载)。动态库可以被加载和准备程序时用于执行,由链接的连接子。或者,在执行过程中,应用程序可以显式请求加载模块。

尽管程序员还可以创建自己的自定义库,但是大多数编译语言都具有标准库。大多数现代软件系统都提供实现大多数系统服务的库。这样的库组织了现代应用程序所需的服务。这样,这些系统库中提供了现代应用程序使用的大多数代码。

 类似资料: