静态库

✍ dations ◷ 2025-12-03 11:29:22 #计算机程序库

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

相关

  • 呼吸衰竭呼吸系统 Field =呼吸衰竭(英语:Respiratory failure)系为动脉中氧气或二氧化碳,或二者皆不符合正常比例,是由于呼吸系统的气体交换不足之故。动脉血液的携氧量过低
  • 本都本都(希腊语:Πόντος),古代小亚细亚北部的一个地区,在黑海南岸。公元前302年,米特里达梯一世在亚历山大大帝死后的一片混乱中创建了本都王国。米特里达梯一世是安提柯一世的
  • 父爱母爱和父爱是母亲、父亲对子女的关心和爱护,例如把儿子和女儿由婴儿期、儿童、青少年,直至成年,供书教学,关怀照顾等。母爱是这个世界上最温柔的力量,它为你保驾护航。母爱常被描
  • 昂列咖啡昂列咖啡(法语:café au lait)为法文的咖啡(café)加了(au)牛奶(lait)之意,也译作欧蕾咖啡或咖啡欧蕾。昂列咖啡即为牛奶加咖啡,与拿铁咖啡的差异之处在于以不同的咖啡浓度为调和基底、
  • 脉冲星脉冲星(英语:Pulsar)是中子星的一种,为会周期性发射脉冲讯号的星体。1967年10月,剑桥大学卡文迪许实验室(Cavendish Laboratory)的安东尼·休伊什(Antony Hewish)教授的研究生——24
  • 呼吸道上皮细胞伪复层纤毛柱状上皮属于另一种单层柱状上皮的变异,细胞皆具有纤毛,又可以称为假复层纤毛柱状上皮。之所以称做伪复层是因为其在切片下看起来细胞好像多于一层所造成的错误观念
  • 杉木属(学名:Cunninghamia)是柏科下的一个属,为常绿乔木植物。该属现存有杉木(C. lanceolata)一种,与其的变种台湾杉木(C. l. var. konishii),分布于越南和中国秦岭以南及台湾。
  • 居量反转居量反转(英语:Population inversion),又译为群数反转、密数反转、粒子数反转、反转分布,为一个物理学名词,在统计力学中经常被使用。居量反转即在一个系统(例如一群原子或分子)中,处
  • 伍德兰市伍德兰市(原文:The Woodlands, Texas)是一个位在美国得州大休斯敦都会区的新市镇和普查规定居民点。这个普查规定居民点在2010年的人口有93,847人,相较于2000年的55,649人成长
  • 钦格尔峰坐标:46°28′43.3″N 7°50′53.5″E / 46.478694°N 7.848194°E / 46.478694; 7.848194钦格尔峰(Tschingelhorn),是瑞士的山峰,位于该国南部,由伯恩州和瓦莱州负责管辖,属于伯尔