静态库

✍ dations ◷ 2025-07-15 05:50:43 #计算机程序库

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

相关

  • 集落刺激因子集落刺激因子(CSF)是一类分泌型的糖蛋白,其与造血干细胞表面上的受体蛋白结合,从而激活细胞内信号传导途径,其可导致细胞增殖并分化成特定类型的血细胞(通常是白细胞,对于红细胞形
  • 歧义歧义(英语:ambiguity,又有译为“含混”)是指未定义或定义不清楚而没有明确涵义的单词、术语(term)、注释或观念。在华人社会,认为此言词源于唐朝苏味道:“处事不欲决断明白,若有错误,
  • AC/DC最佳硬式摇滚演奏奖(英语:Grammy Award for Best Hard Rock Performance)2010年〈战争机器〉其他奖项AC/DC(意为交流电/直流电)是澳洲摇滚乐团,1973年由马尔科姆·杨和安格斯·杨
  • 澳大利亚科技大学联盟澳大利亚科技大学联盟(英语:Australian Technology Network,缩写为 ATN)是由5所重视将本科阶段所学习和研究的内容,转化于实际应用成果的澳大利亚大学组成,成立于1995年。这5所院
  • 河马科河马科(学名:Hippopotamidae)是哺乳纲偶蹄目的一科,为大型水陆两栖的草食动物,与鲸类同属河马形亚目。现存仅有河马和倭河马两种,都生活在非洲。
  • .kr.kr为韩国国家和地区顶级域(ccTLD)的域名。此外也拥有韩文顶级域名.한국。A .ac .ad .ae .af .ag .ai .al .am .ao .aq .ar .as .at .au .aw .ax .az   B .ba .bb .bd .be
  • 萨格勒布国家和大学图书馆萨格勒布国家和大学图书馆(克罗地亚语:Nacionalna i sveučilišna knjižnica u Zagrebu,原称)是克罗地亚的国家图书馆,也是萨格勒布大学的大学主图书馆。该图书馆的历史可追溯
  • 曼萨·穆萨穆萨(Musa),即马里帝国的曼萨穆萨一世,又称曼萨·穆萨(Mansa Musa),14世纪马里帝国君主,在位时间大约为1312年至1337年,因前往麦加朝圣和赞助伊斯兰教学术而闻名。他统治的马里帝国处
  • 巴黎十三区巴黎十三区(法语:13e arrondissement de Paris)是法国首都巴黎市的20个区之一。该区处于巴黎左岸。十三区里有巴黎的三个华人区之一。
  • 埃及第三十王朝第 八第 十埃及第三十王朝是古埃及历史上的一个王朝,其统治者为埃及本土人,首都位于塞本尼托斯(英语:Sebennytos)。第三十王朝与第二十六王朝、第二十七王朝、第二十八王朝、第二