静态库

✍ dations ◷ 2025-12-01 14:36:20 #计算机程序库

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

相关

  • 互联网档案馆网站时光机(英语:Wayback Machine)是万维网或互联网上传播的其他信息的一个数字文件网站,是美国加利福尼亚州旧金山的非营利组织——互联网档案馆最重要的服务之一。网站时光机
  • 二性霉素B两性霉素B(英语:Amphotericin B,商品名:Fungizone),一种具有抑菌或杀菌作用的抗霉菌剂。对新生隐球菌、白色念珠菌、组织胞浆菌、球孢子菌、酿母菌均具抑制作用。其所产生的药效端
  • 人类演化历程人类演化历程记录了人及其祖先在发展与演化过程中的重要事件,还包括对可能是人类祖先的物种的简要介绍。但其中并不包含生命起源的内容,只是描述从生命诞生直至演化为人类的可
  • 解离常数在化学、生物化学及药理学中,解离常数(英语:dissociation constant, K d {\d
  • 链条滚子链是一种用于传送机械动力链条,广泛应用于家庭、工业和农业机械,其中包括输送机、绘图机、印刷机、汽车、摩托车、以及自行车。它由一系列短圆柱滚子链接在一起,由一个称为
  • 奥胡斯奥胡斯(丹麦语:Aarhus;1948年至2010年称为 Århus)位于日德兰半岛沿岸,是丹麦第二大城市和主要的港口。奥胡斯行政区人口为33.57万(2017),其中包括城区居民26.90万,是仅次于哥本哈根
  • 716年前9世纪 | 前8世纪 | 前7世纪前730年代 前720年代 | 前710年代 | 前700年代 前690年代前721年 前720年 前719年 前718年 前717年 | 前716年 | 前715年 前714年 前713年 前7
  • 弗雷德里克·罗素·伯纳姆弗雷德里克·罗素·伯纳姆,DSO(英语:Frederick Russell Burnham,1861年5月11日-1947年9月1日),美国侦查兵与世界旅游冒险家。他以服役于不列颠南非公司最为著名,接者则在非洲殖民地
  • 王念祖王念祖(英文:Wang C. Nian-Tzu;英文缩写: N.T. Wang,1917年-2004年)美籍华人经济学家、联合国官员、社会活动家。1917年,出生于上海,籍贯浙江慈溪,生于老上海银行世家。早年从学于吴梅
  • 埃托沙国家公园埃托沙国家公园(Etosha National Park)是南部非洲国家纳米比亚的国家公园,位于该国西北部库内内区,占地22,270平方公里,成立于1975年6月20日,涵盖埃托沙盐湖,野生动物有鹈鹕、火烈