静态库

✍ dations ◷ 2025-12-04 04:28:45 #计算机程序库

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

相关

  • 灭绝营纳粹集中营转移营比利时:布伦东克堡垒 · 梅赫伦转移营法国:居尔集中营 · 德朗西集中营意大利:波尔查诺转移营荷兰:阿默斯福特集中营 · 韦斯特博克转移营挪威:法斯塔德集中营部
  • α-酮戊二酸脱氢酶复合体酮戊二酸脱氢酶复合体(英语:oxoglutarate dehydrogenase complex,缩写OGDC;或称英语:α-ketoglutarate dehydrogenase complex)是一个复合酶,因其在三羧酸循环中的作用而众所周知。
  • 克林奇县克林奇县(Clinch County)是位于美国佐治亚州南部的一个县,面积2,135平方公里,县治霍默维尔。根据2000年美国人口普查,共有人口6,996。克林奇县成立于1850年2月14日。历史 | 经济
  • 红外加热器和自然界的红外线辐射源(如太阳、火)不同,这里要讨论的是通过技术手段产生红外线的红外线辐射源。以下的讨论范围不包括用于如红外线发射器、天文或者军事定位系统等的技术型辐
  • 帕里斯的评判帕里斯的评判是希腊神话中特洛伊战争的主要导火线。讲金苹果事件后紧接着发生的另一个重要决策。天后赫拉、智慧女神雅典娜与爱神阿佛洛狄忒为了得到刻有“献给最美女神”字
  • 第七届全国人民代表大会中华人民共和国第七届全国人民代表大会任期由1988年至1993年,期间召开过五次会议。第一次会议于1988年3月25日至4月13日在北京召开。会议上审议并通过了关于确认第六届全国人
  • 龙宫龙宫城(りゅうぐうじょう)、龙宫(りゅうぐう)或海宫(かいぐう)是日本各地流传的海神传说中登场的海神宫殿。根据地域、传承,龙宫城是丰玉彦、海之龙神居住之地。在日本各地的昔话、
  • 马萨诸塞理工学院马萨诸塞理工学院(英语:Massachusetts Institute of Technology,缩写为MIT),位于美国马萨诸塞州剑桥市,是一所著名的私立研究型大学。学校成立于1861年,主校区沿查尔斯河而建,当时目
  • 日本烟草产业日本烟草产业株式会社(日语:日本たばこ産業株式会社,英语:Japan Tobacco Inc.),简称JT,是日本最大的烟草制造企业,同时为日经225指数成份股之一。在台湾的子公司为杰太日烟国际股份
  • 教宗色尔爵二世教宗色尔爵二世(拉丁语:Sergius PP. II;?-847年)于844年1月25日至847年1月27日岀任教宗。