fbpx
维基百科

函式庫

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

链接

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

静态库

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

静态链接的最大缺点是生成的可执行文件較大,需要更多的系统资源,在載入到記憶體时也会消耗更多的时间。优点是代码执行效率高。

共享库

动态库

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

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

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

函式庫, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目格式需要修正以符合格式手册, 2020年6月13日, 请协助補充相关的内部链接, 并使用百科全书的语气来改善这篇条目, 此條目没有列出任何参考或来源, 2015年8月9日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而移除, 英語, library, 是在计算机科学中用于开发软件的子程序集合, 库和可执行文件的区别是, 它不是独立的计算机程序, 而是向其他程序提供服务的代. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目格式需要修正以符合格式手册 2020年6月13日 请协助補充相关的内部链接 并使用百科全书的语气来改善这篇条目 此條目没有列出任何参考或来源 2015年8月9日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而移除 库 英語 library 是在计算机科学中用于开发软件的子程序集合 库和可执行文件的区别是 它不是独立的计算机程序 而是向其他程序提供服务的代码 目录 1 链接 1 1 静态库 1 2 共享库 1 3 动态库链接 编辑主条目 链接期和链接器 库链接 英語 linking 是指把一个或多个库包括到程序中 有两种链接形式 静态链接和动态链接 相应的 前者链接的库叫做静态库 后者的叫做动态库 静态库 编辑 主条目 静态库 静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法 链接器是一个独立程序 将一个或多个库或目标文件 先前由编译器或汇编器生成 链接到一块 以生成可执行程序 静态链接的最大缺点是生成的可执行文件較大 需要更多的系统资源 在載入到記憶體时也会消耗更多的时间 优点是代码执行效率高 共享库 编辑 动态库 编辑 此章节需要扩充 可以参照英文维基百科上的条目Dynamic linker 但由于来源和该条目过于局限 不建议直接翻译 2019年1月26日 动态链接是在可执行文件装载时或运行时 由操作系统的装载程序加载库 大多数操作系统将解析外部引用 比如库 作为加载过程的一部分 在这些系统上 可执行文件包含一个叫做匯入目錄 import directory 的表 该表的每一项包含一个库的名字 根据表中记录的名字 装载程序在硬盘上搜索需要的库 然后将其加载到内存中预先不确定的位置 之后根据加载库后确定的库的地址更新可执行程序 可执行程序根据更新后的库信息调用库中的函数或引用库中的数据 这种类型的动态加载称为装载 load time 时加载 被包括Windows和Linux的大多数系统采用 装载程序在加载应用软件时要完成的最复杂的工作之一就是加载时链接 其他操作系统可能在运行时解析引用 在这些系统上 可执行程序调用操作系统API将库的名字 函数在库中的编号和函数参数一同传递 操作系统负责立即解析然后代表应用调用合适的函数 这种动态链接叫做运行时链接 因为每个调用都会有系统开销 运行时链接要慢得多 对应用的性能有负面影响 现代操作系统已经很少使用运行时链接 可以动态链接的函式庫 在Windows上是Dynamic Link Library DLL 在UNIX或Linux上是Shared Library 库文件是预先编译链接好的可执行文件 存储在计算机的硬盘上 大多数情况下 同一时间多个应用可以使用一个库的同一份拷贝 操作系统不需要加载这个库的多个实例 取自 https zh wikipedia org w index php title 函式庫 amp oldid 74532265, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。