静态库

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

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

相关

  • 合文陶文 ‧ 甲骨文 ‧ 金文 ‧ 古文 ‧ 石鼓文籀文 ‧ 鸟虫书 ‧ 篆书(大篆 ‧  小篆)隶书 ‧ 楷书 ‧ 行书 ‧ 草书漆书 ‧  书法 ‧ 飞白书笔画 ‧ 
  • TSPAN30n/an/an/an/an/an/an/an/an/an/aCD63是一种蛋白质抗原,在人体中由CD63基因编码。CD63主要出现在细胞外囊泡的表面,也会出现在普通的细胞膜表面。透膜四超家族(transmembrane 4
  • 摩尔多瓦列伊列伊(摩尔多瓦语:leu,ISO代码:MDL),摩尔多瓦共和国的国家货币。与罗马尼亚列伊一样,摩尔多瓦列伊的辅币单位也是巴尼,1列伊=100巴尼。“列伊”在摩尔多瓦语中有“狮子”的意思。列伊
  • 1812年1812年逝世人物列表:1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月
  • 家事法家庭法是与家庭事务相关的法律,包括
  • 奥地利犹太人大屠杀纪念服务纳粹集中营转移营比利时:布伦东克堡垒 · 梅赫伦转移营法国:居尔集中营 · 德朗西集中营意大利:波尔查诺转移营荷兰:阿默斯福特集中营 · 韦斯特博克转移营挪威:法斯塔德集中营部
  • 镰田正威镰田正威(1885年8月7日-1935年8月8日)是台湾日治时代台湾总督府的官员,曾任明石元二郎总督之秘书官,日本香川县出身。明治18年(1885年)生于香川县绫歌郡坂出町(现 坂出市)。明治43年(1
  • 珍珠项链 (性行为)珍珠项链来自于英语的性俚语“pearl necklace”,是指男性在另一人的颈部、胸膛或乳房上射精,因为精液在沾停于胸颈部类似于透明的珍珠项链,故此得名。珍珠项链的成因可能是乳交
  • 藩 (日本)藩是日本江户时代幕藩体制对于将军家直属领地以外大名领国的非正式称呼;这些领国源于日本古代封建体系,经过战国时代的兼并,于江户时代形成了276个地方分权单位,直到1871年明治
  • 明道大学明道学校财团法人明道大学是一所台湾私立大学,前身为明道管理学院,位在彰化县埤头乡。创办人汪广平素来景仰民初大学者、教育家张伯苓于中国天津创立了与当年北京清华大学、北