静态库

✍ dations ◷ 2025-12-05 02:00:41 #计算机程序库

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

相关

  • 颈阔肌颈阔肌是使嘴向下伸张的肌肉。它是一块表面肌肉,也就是说,它不直接连在骨骼上,与胸锁乳突肌重叠。沿下巴和颈的两侧各有一大块颈阔肌,每块的形状就像一把倒置的扇形。此扇形的
  • 系统地理学系统地理学(Systematic geography)是地理学四大分类的其中之一,也是地理学的主干。系统地理学可再分为自然地理学和人文地理学。大多数的地理学研究都是在系统地理学中的各分类
  • 细胞因子诱导的杀伤细胞细胞因子诱导的杀伤细胞(Cytokine-induced killer cells, CIK),又称细胞因子激活杀伤细胞,是一组T细胞-自然杀伤细胞(NK)样表型的适应免疫细胞混合体。医生通过向外周血单核细胞或
  • 得州游骑兵德克萨斯游骑兵(Texas Rangers)可以指:
  • 麻省总医院麻省总医院(英文:Massachusetts General Hospital;缩写:Mass General或MGH)为一所坐落于波士顿的综合型医院。其为美国新英格兰地区最古老且最具规模的医院,并是哈佛大学最大型的
  • 谁人乐队谁人乐队(英语:The Who)是一支英国摇滚乐团,他们在1964年成军。乐队后来成为一直以来最受高评和最受欢迎的摇滚艺术家之一,其现场演出尤其被推崇备至,被形容为“可能是史上最佳的
  • 德国葡萄酒之路德国葡萄酒之路(德语:Deutsche Weinstraße)是德国第一条旅游路线,1935年开放,位于莱茵兰-普法尔茨州,全长85公里。这条路线的标志是黄色背景上的一串十个葡萄和路线的名称。为了
  • 索普威思·骆驼式战斗机索普威思·骆驼式战斗机(Sopwith Camel)是英国第一次世界大战期间于1917年在西线引入的单座双翼战斗机,由索普威思飞机公司开发,是同公司的早期小狗式战斗机后继机型。索普威思
  • 反骨男孩反骨男孩(Wackyboys)为2012年成立的一个台湾YouTuber团体,前期成员由酷炫(庄尧宣)、孙生(余孙生)、玮哥(陈睿玮)、焦凡凡(焦晓凡)、琳妲(林羿祯)五人为组成,后来加入的有培根、赛、蕾菈、A
  • 膜结构膜结构是一种空间结构,利用张力膜材料制成,为一种新式建筑。早期为一般常见的帐篷,自上古时代开始的兽皮,中世纪时的布织物、衣料,到目前建筑用的玻璃纤维、聚酯纤维等等,具有悠久