静态库

✍ dations ◷ 2025-08-26 17:52:05 #计算机程序库

在计算机科学中,静态库(英语: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,"*")预编译指令要求连接器连入。

相关

  • 单质单质是由同种元素组成的纯净物。元素在单质中存在时称为元素的游离态。一般来说,单质的性质与其元素的性质密切相关。比如,很多金属的金属性都很明显,那么它们的单质还原性就很
  • 川烫汆(拼音:cuān;注音:ㄘㄨㄢ)是烹饪时对食材的一种处理方法,又称汆烫、川烫、焯水或飞水。较常用的一个意思是指把食材放入沸水中片刻,透过水的热力烧煮食材。可以达到去除肉类血水
  • α逆转录病毒属α反转录病毒属(学名:Alpharetrovirus)是反转录病毒目反转录病毒科下的一个属,此属的病毒具有C型的外观。α反转录病毒会在野鸟、家禽和鼠身上造成肉瘤和肿瘤。鸟白血病病毒就是
  • S01AA·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码S01(Ophthalmologicals)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO C
  • 谢尔普霍夫期谢尔普霍夫期(英语:Serpukhovian)是石炭纪的第三个时期,年代大约位于330.9–323.2百万年前。
  • 杜内期杜内期(英语:Tournaisian)是石炭纪的第一个时期,年代大约位于358.9–346.7百万年前。
  • 王忠王忠(?-1552年),一作王中,本名旺济外兰(满语:ᠸᠠᠩᠵᡠᠸᠠᡳᠯᠠᠨ,转写:Wangju Wailan),明朝塔山左卫都督克什纳次子,早年其父被族人所杀,遂率部南下至开原哈达河一带定居,成为当地部长
  • 低地水牛低地水牛(学名:)属于牛科水牛属, 原产于印度尼西亚西里伯斯岛的原始低地森林。低地水牛是世界上最小的水牛之一,外观上似鹿,一般体长在180cm左右,高约85cm,尾长40cm,体重150kg-300kg
  • 个体工商户个体工商户,简称个体户(个体户一词的其他含义,请参见“个体户”),在中华人民共和国是指以个人财产或者家庭财产作为经营资本,依法经核准登记,并在法定的范围内从事非农业的工商经营
  • 伊朗之狮战机伊朗之狮战机(英语:Morghue Sahura Tactical Fighter,缩写:M-ATF),为伊朗和俄罗斯合作开发的第四代战斗机,后取消,日后伊朗以伊朗之狮为设计基础开发破晓战机(英语:HESA Shafaq),伊朗之