静态库

✍ dations ◷ 2024-09-20 05:39:46 #计算机程序库

在计算机科学中,静态库(英语:Static library, Statically-linked library),或称静态库,是一个外部函数与变量的集合体。静态库的文件内容,通常包含一堆程序员自定的变量与函数,其内容不像动态链接库那么复杂,在编译期间由编译器与链接器将它集成至应用程序内,并制作成目标文件以及可以独立运作的可执行文件。而这个可执行文件与编译可执行文件的程序,都是一种程序的静态创建(static build)。以过去的观点来说,库只能算是静态(static)类型。

只需保证在开发者的计算机有正确的库文件,在以二进制发布时不需考虑在用户的计算机上库文件是否存在及版本问题,可避免DLL地狱等问题。

生成的可执行文件体积较大。当初正是为了避免此问题,才开发了动态库技术。

静态库可以用简单的C语言或是C++代码去创建它。这两个编程语言提供关键字指定函数与变量是否为外部(external)或是内部(internal)链接,此外,还提供其他的特性。

创建这类的库时,将函数或是变量导出(export)一定要用外部链接( )的语法特别指定它们。

静态库文件名为lib*.a,在使用了其中的函数之后,使用-l*参数要求连接器连入。

例如,在许多系统上,当使用了math.h中的函数后,需要使用-lm参数连接libm.a文件。

静态库文件名为*.lib,在使用了其中的函数之后,使用#pragma comment(lib,"*")预编译指令要求连接器连入。

相关

  • 于塞城堡于塞城堡(法语:château d'Ussé)是位于法国城市里尼于塞的一座法式城堡。为夏尔·佩罗的童话睡美人之城堡原型,且内有故事相关情节之场景与蜡像供游客参观。自1931年开始,于塞城
  • 雅克宾专政雅各宾专政,即恐怖统治(法语:la Terreur,1793年9月5日-1794年7月28日)时期, 是法国大革命一段充满暴力的时期,两个对立的吉伦特派与雅各宾派政治派系之间煽动冲突后形成的。 当罗
  • 罗伯·佛契哥特罗伯·佛契哥特(英语:Robert Francis Furchgott,1916年6月4日-2009年5月19日),生于美国南卡罗莱那州的查尔斯顿,美国化学家。佛契哥特于1937年在北卡罗来纳大学化学系学士毕业,并于1
  • 禽成髓细胞瘤病毒α反转录病毒属(学名:Alpharetrovirus)是反转录病毒目反转录病毒科下的一个属,此属的病毒具有C型的外观。α反转录病毒会在野鸟、家禽和鼠身上造成肉瘤和肿瘤。鸟白血病病毒就是
  • 壁纸壁纸(英语:wallpaper或wallcoverings)是室内装修常选用的一种材料,也称为墙纸。壁纸的种类有:纸基PVC壁纸,纯纸壁纸,纯无纺纸壁纸,无纺纸纸基PVC面壁纸。以机械大量生产壁纸的做法,英
  • 巴通期巴通期(英语:Bathonian)是侏罗纪的第七个时期,年代大约位于168.3–166.1百万年前。
  • 介壳虫见内文介壳虫总科(学名:Coccoidea),又名蚧总科,为半翅目胸喙亚目(旧属同翅目,现同翅目合并到半翅目)下面的一个总科,计有23个科,合共8000多种昆虫。这还未计算已灭绝而只剩下化石的14
  • 人类星球《人类星球》(英语:Human Planet)为英国广播公司与探索频道联合制作的纪录片,由约翰·赫特旁白,2011年1月13日起英国时间逢星期四晚8时于英国广播公司第一台首播,共8集。本片为英
  • 光线转换矩阵分析光线转换矩阵分析(又称ABCD矩阵分析),是用于某些光学系统,特别是激光领域的一种光线追踪技术。它包含一个描述光学系统的光线转化矩阵(ray transfer matrix),这个矩阵与一代表
  • 脱乳清酸奶脱乳清酸奶,又称酸奶奶酪或希腊式酸奶,是将酸奶通过布或者纸滤去乳清后的产物,其黏稠度介于酸奶和奶酪之间,依然保留了酸奶独特的酸味。就像大多酸奶一样,脱乳清酸奶也是用牛奶加