什么是Library
在计算机科学中,library是计算机程序经常用于软件开发的非易失性资源的集合。这些可能包括配置数据,文档,帮助数据,消息模板,预编写的代码和子例程,类,值或类型规范。在IBM OS / 360及其后续版本中,它们称为分区数据集。
一个library也是行为的实现,写的语言术语的集合,有一个定义良好的接口,通过该行为被调用。例如,想要编写更高级别程序的人可以使用library(库)进行系统调用,而不必一次又一次地实现这些系统调用。此外,该行为提供了供多个独立程序重用。程序通过语言机制调用库提供的行为。例如,使用简单的命令式语言例如C,则使用C的常规函数调用来调用库中的行为。将调用区分为对库函数的区别,而不是对同一程序中的另一个函数的区别是,代码在系统中的组织方式。
library(库)代码以这样一种方式组织:可以由彼此不连接的多个程序使用,而作为程序一部分的代码被组织为仅在该程序中使用。当程序(例如,数百万行的程序)变大时,这种区别可以获得分层概念。在这种情况下,可能会有内部库被大型程序的独立子部分重用。区别特征在于,组织库的目的是要被独立程序或子程序重用,并且用户只需要知道接口,而无需了解库的内部细节。
库的价值在于行为的重用。当程序调用一个库时,它将获得在该库内实现的行为,而不必自己实现该行为。库鼓励以模块化方式共享代码,并简化代码的分发。
可以在不同的程序生命周期阶段将由库实现的行为连接到调用程序。如果在调用程序的构建过程中访问了库的代码,则该库称为静态库。[1]替代方法是构建调用程序的可执行文件,并独立于库的实现分发该可执行文件。在开始执行可执行文件之后(无论是作为开始执行过程的一部分,还是在执行过程中),都将连接库行为。在这种情况下,该库称为动态库(在运行时加载)。动态库可以被加载和准备程序时用于执行,由链接的连接子。或者,在执行过程中,应用程序可以显式请求加载模块。
尽管程序员还可以创建自己的自定义库,但是大多数编译语言都具有标准库。大多数现代软件系统都提供实现大多数系统服务的库。这样的库组织了现代应用程序所需的服务。这样,这些系统库中提供了现代应用程序使用的大多数代码。
什么是Library相关推荐
- System.err: java.lang.UnsatisfiedLinkError: dlopen failed: library “libc++_shared.so“ not found
Android Studio 配置OpenCV 的时候出现这样的提示 黄色警告libc++_shared.so" not found : System.err: java.lang.Unsa ...
- Microsoft Anti-Cross Site Scripting Library V1.5 发布了
Microsoft Anti-Cross Site Scripting Library V1.5 发布了 微软反跨站攻击脚本库 v1.5.此下载包含Microsoft Application Secu ...
- android studio islibrary,通过AndroidStudio发布Android Library到Jcenter[超详细]
这篇文章很长 如果已经对jcenter,maven有了一些概念,可以直接看我的另外一篇精简文章: 快速发布Abdroid Library到JCenter[精简] 开始之前先明白几个概念 maven M ...
- Boom Library 93套影视游戏无损配乐音效素材合集包
Boom Library 93套影视游戏无损配乐音效素材合集包 素材压缩包大小共:851G 每个合集为独立压缩包 可选择性下载 云桥网络 平台获取合集包 01.BOOM Library Assault ...
- Lumion模型库 Unique Pro Lumion Library 2021
Lumion模型库 Unique Pro Lumion Library 2021 独特的专业图书馆2021 大小:12G 云桥网络 平台获取素材 这些包包括: 01–集总效果–准备渲染的外部设置 用 ...
- Enterprise Library 4 数据访问应用程序块
Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务.应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据.传递数据穿过应用程序层( applicat ...
- 【C++】C++11 STL算法(八):对未初始化内存的操作(Operations on uninitialized memory)、C库(C library)
对未初始化内存的操作(Operations on uninitialized memory) 一.uninitialized_copy 1.原型: template< class InputIt ...
- 【Qt】启动QtCreator时报错:Cannot mix incompatible Qt library (version ) with this library (version...
1.问题描述 当启动QtCreator时报错(我的Qt版本是Qt5.6.3): Cannot mix incompatible Qt library (version 0x50603) with th ...
- oracle library cache lock,【案例】Oracle等待事件library cache lock产生原因和解决办法...
[案例]Oracle等待事件library cache lock产生原因和解决办法 时间:2016-12-07 18:56 来源:Oracle研究中心 作者:网络 点击: 次 天萃荷净 O ...
- 获取 一个文件 在沙盒Library/Caches/ 目录下的路径
+ (NSString *)getFullPathWithFile:(NSString *)urlName { //先获取 沙盒中的Library/Caches/路径 NSS ...
最新文章
- 【Git】Git 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )
- MSHA x Chaos 容灾高可用实践
- 使用 inline 内联函数对抗逆向分析
- 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)
- 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手
- CAN总线知识点概述
- android语法高亮编辑器,HighlightTextEditor
- ssh tar_2015年最佳情侣:tar和ssh
- android源码下编译自有工程通用make模板
- Linux 中/proc目录下文件详解
- python存钱挑战_案例(4):52周存钱法
- [Linux驱动炼成记] 04-功放TAS5754
- Java去除空格符号
- 同济大学计算机其中考试时间,上海高三上学期期中考试时间一般定在几月份?...
- JavaScript history对象(back()、forward()、go())
- 微信小程序-绘制仪表盘
- python tkinter button 透明图片_如何使Tkinter支持PNG透明?
- java计算机毕业设计林家餐厅自助点餐管理系统源码+系统+mysql数据库+lw文档
- 基于姿态估计的运动计数APP开发
- 算法很美:01背包问题(动态规划、贪心)