静态库

✍ dations ◷ 2025-02-24 00:36:23 #计算机程序库

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

相关

  • 分液漏斗分液漏斗是实验室中使用的一种玻璃仪器,有梨形分液漏斗、球形分液漏斗和筒形分液漏斗这三种类型。梨形分液漏斗主要用来萃取和分液。梨形分液漏斗的主体是一个倒锥体球,在球的
  • Stockholm International Peace Research Institute斯德哥尔摩国际和平研究所(Stockholm International Peace Research Institute,SIPRI)是一个致力于研究冲突,军备,军备控制以及裁军的国际独立机构。该研究所于1966年创立。根据
  • 蔷薇类植物蔷薇类植物是APG 分类法中的一个具有亲缘关系的植物类群,和菊类一起组成真双子叶植物的主要部分。蔷薇类基本包括克朗奎斯特分类法中金缕梅亚纲和蔷薇亚纲中的种类,还有五桠果
  • 次生林次生林,又名天然次生林、再生林、再生森林、二次林。是指原始稳定的森林植被遭到山火、虫灾、或者人为破坏或砍伐(刀耕火种、林木砍伐)之后,经过若干年后再度自然复育而成的新的
  • 上阳入高阳入或上阳入调是粤语的声调名称之一,由阳入声衍生而出。衍生规律依据元音的长短,短元音的阳入声字都被分派到此一单独调值阳入声中,称为“高阳入”。所有高阳入调的音节都带
  • 能登岛能登岛(日语:能登島/のとじま Notojima */?)是石川县七尾市七尾湾内的一个岛。面积46.78km²。周长71.9km。在政区上过去属能登岛町,2004年10月1日合并为七尾市的一部分。也是
  • 豹狮兽豹狮,或豹狮兽(学名:Panthera pardus × leo )是雄豹与雌狮杂交后的产物,其头部像狮子,而身体则长有豹斑,体型比豹子大,喜欢攀爬和戏水。多是人类影响或主使之下的产物,而不是自然交
  • 伯克希尔县 (马萨诸塞州)伯克希尔县(英语:Berkshire County)是美国马萨诸塞州最西部的一个县,西邻纽约州,南邻康乃狄克州,北邻佛蒙特州。面积2,451平方公里。根据美国2000年人口普查,共有人口134,953。县治
  • 第二次世界大战中的大后方第二次世界大战中,各个参战国家都有给前线提供弹药和生活补给、医疗设施以及物资,装备的制造生产研发等的地区,或者是指挥阶层的所在地。还有一些未参战或未受战火影响的地区,为
  • 2013年美国羽毛球黄金大奖赛2013年美国羽毛球黄金大奖赛为第2013年度的美国羽毛球公开赛,是2013年世界羽联大奖赛的其中一站。本届赛事于2013年7月8日-7月13日在美国加利福尼亚州的橙县举行,并获得YONEX,