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

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

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

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

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

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

什么是Library相关推荐

  1. 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 ...

  2. Microsoft Anti-Cross Site Scripting Library V1.5 发布了

    Microsoft Anti-Cross Site Scripting Library V1.5 发布了 微软反跨站攻击脚本库 v1.5.此下载包含Microsoft Application Secu ...

  3. android studio islibrary,通过AndroidStudio发布Android Library到Jcenter[超详细]

    这篇文章很长 如果已经对jcenter,maven有了一些概念,可以直接看我的另外一篇精简文章: 快速发布Abdroid Library到JCenter[精简] 开始之前先明白几个概念 maven M ...

  4. Boom Library 93套影视游戏无损配乐音效素材合集包

    Boom Library 93套影视游戏无损配乐音效素材合集包 素材压缩包大小共:851G 每个合集为独立压缩包 可选择性下载 云桥网络 平台获取合集包 01.BOOM Library Assault ...

  5. Lumion模型库 Unique Pro Lumion Library 2021

    Lumion模型库 Unique Pro Lumion Library 2021 独特的专业图书馆2021 大小:12G  云桥网络 平台获取素材 这些包包括: 01–集总效果–准备渲染的外部设置 用 ...

  6. Enterprise Library 4 数据访问应用程序块

    Enterprise Library 数据访问应用程序块简化了实现常规数据访问功能的开发任务.应用程序可以在各种场景中使用此应用程序块,例如为显示而读取数据.传递数据穿过应用程序层( applicat ...

  7. 【C++】C++11 STL算法(八):对未初始化内存的操作(Operations on uninitialized memory)、C库(C library)

    对未初始化内存的操作(Operations on uninitialized memory) 一.uninitialized_copy 1.原型: template< class InputIt ...

  8. 【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 ...

  9. oracle library cache lock,【案例】Oracle等待事件library cache lock产生原因和解决办法...

    [案例]Oracle等待事件library cache lock产生原因和解决办法 时间:2016-12-07 18:56   来源:Oracle研究中心   作者:网络   点击: 次 天萃荷净 O ...

  10. 获取 一个文件 在沙盒Library/Caches/ 目录下的路径

    + (NSString *)getFullPathWithFile:(NSString *)urlName {          //先获取 沙盒中的Library/Caches/路径     NSS ...

最新文章

  1. 【Git】Git 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )
  2. MSHA x Chaos 容灾高可用实践
  3. 使用 inline 内联函数对抗逆向分析
  4. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)
  5. 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手
  6. CAN总线知识点概述
  7. android语法高亮编辑器,HighlightTextEditor
  8. ssh tar_2015年最佳情侣:tar和ssh
  9. android源码下编译自有工程通用make模板
  10. Linux 中/proc目录下文件详解
  11. python存钱挑战_案例(4):52周存钱法
  12. [Linux驱动炼成记] 04-功放TAS5754
  13. Java去除空格符号
  14. 同济大学计算机其中考试时间,上海高三上学期期中考试时间一般定在几月份?...
  15. JavaScript history对象(back()、forward()、go())
  16. 微信小程序-绘制仪表盘
  17. python tkinter button 透明图片_如何使Tkinter支持PNG透明?
  18. java计算机毕业设计林家餐厅自助点餐管理系统源码+系统+mysql数据库+lw文档
  19. 基于姿态估计的运动计数APP开发
  20. 算法很美:01背包问题(动态规划、贪心)

热门文章

  1. 当远程工作成为未来的工作方式......
  2. 牛逼的Python库MoviePy!利用Python自动剪辑tiktok视频!
  3. 怎么样在家拍出好看的证件照?标准证件照拍摄技巧分享
  4. 160个crackme 024详细题解(动态指令)
  5. 开独立网店需要哪些步骤
  6. 嵌入式编程中volatile的重要性
  7. SolidWorks如何编辑今日制造插件生成的齿轮
  8. Verilog RTL 代码实战 01——半加器全加器
  9. 5G大数据时代到来是全面多领域的变革
  10. 蓝牙耳机品牌推荐:2023年降噪蓝牙耳机性价比推荐