静态库

✍ dations ◷ 2025-11-27 13:01:52 #计算机程序库

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

相关

  • 灰婴症候群灰婴症候群,或称灰婴症及灰婴综合征,是一种初生婴儿在接受静脉注射氯霉素后出现的罕见严重副作用。初生婴儿由于并未能完全自行建立体内的酶,尤其是肝脏负责代谢的酶,去处理或分
  • 大草原大草原(英语:Prairie)指地球上干旱(半干旱)地区较少长树的一望无际的平坦草原地带,如北美大草原和蒙古高原大草原等。世界草原定义:Pampas、Prairie、Savanna、Steppe和 Veld。Pamp
  • 联邦能源部俄罗斯联邦能源部(Министерство энергетики Российской Федерации),俄罗斯联邦政府组成部门之一,主要负责能源政策等事务。能源部于2
  • 氯米帕明氯米帕明(Clomipramine),常见商品名Anafranil,为一种三环类抗抑郁药(TCA)。本品可用于治疗强迫症、恐慌症、重性抑郁障碍,以及慢性疼痛等等。65岁以上年长者用药会降低自杀风险。本
  • 毛鼻水獭毛鼻水獭(学名:Lutra sumatrana,英语:Hairy-nosed Otter)也叫苏门答腊水獭,是一种分布在东南亚的水獭,栖息在淡水环境。该物种已经严重濒危,在1990年代,就被以为已经灭绝,但是后来又在
  • 春秋五霸春秋五霸,“五霸”又作“五伯”,是指东周春秋时期相继称霸主的五个诸侯,其说首见于《左传》。该词常与战国七雄并称。目前主要有两种观点:“霸”,意为霸主,即是诸侯之领袖,在这个意
  • 格洛斯特 (马萨诸塞州)坐标:42°36′57″N 70°39′45″W / 42.61583°N 70.66250°W / 42.61583; -70.66250格洛斯特(英语:Gloucester),是美国马萨诸塞州艾塞克斯县的一个城市,位于大西洋岸的安角。面
  • 夏季奥林匹克运动会水球比赛水球自1900年第二届夏季奥运会起成为夏季奥林匹克运动会比赛项目之一。2000年起,增设了女子水球项目。匈牙利、意大利、英国是传统水球强国。
  • 巨型短面熊巨型短面熊(),又名巨型熊齿兽、噬牛熊、育空短面熊,是一种已灭绝的熊,属于短面熊属。它是已知曾生存的熊中最大的,生存于80-1.25万年前的北美洲,尤其是加州。巨型短面熊有两个已知
  • AEGAEG,德国电器公司,曾经是世界上最大的电器康采恩。成立于1883年的柏林,当时名为Deutsche Edison-Gesellschaft 。产品范围从电力能源到家用电器无所不包。曾经制造过城铁、蒸汽