静态库

✍ dations ◷ 2025-12-09 00:58:59 #计算机程序库

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

相关

  • 测谎机测谎机藉着量度和记录血压、脉搏、呼吸和皮肤导电反应(英语:Galvanic skin response)等由交感神经引起的生理反应,来判断正在回答问题的受测者是否说谎。由于此类生理反应是不由
  • 主权国家主权国家,指拥有独立主权的国家,是国际社会的最基本成员,在国际法中,主权国家是一个非物质的法律实体,并由一个法定政权做为代表行使国家主权,其统治和管理的权力由该国家或组织的
  • MgSOsub3/sub亚硫酸镁是亚硫酸的镁盐,化学式MgSO3。其最常见的水合形式有6个水分子,使其成为六水合物MgSO3 ·6H2O。加热到40 °C(104 °F)以上时,将脱水成三水合亚硫酸镁(MgSO3 ·3H2O)。 无水
  • ʔ̞吱嘎音声门近音,被使用于一些口语中,其国际音标写作⟨ʔ̞⟩或⟨ʔ̰⟩。发此音时会使声门紧缩,经过的气流也会明显减少(与其前后的元音相比),但不会完全阻断气流。此音为许多语言
  • 新孟买新孟买(马拉提语:नवी मुंबई)是属印度马哈拉施特拉邦的计划城市;位于该邦西部,孟买东部。面积343平方公里,2011年人口1,119,477,是世界上最大的计划都市。1972年起,由马哈拉
  • 台湾潮州人台湾潮州人,是台湾的一个已经被文化灭绝的消失群体,指祖籍为清代潮州府地区,本属潮州民系移民来台的台湾汉人先祖(其所用的潮州话与闽南语泉漳话有祖缘关系)。台湾潮州人分散在台
  • 阿方索·卡隆阿方索·卡隆·奥罗斯科(西班牙语:Alfonso Cuarón Orozco,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucid
  • 性犯罪性犯罪是指未经双方同意违反自由意愿的性行为及有关的犯罪行为,通常性犯罪会伴随暴力行为发生,常见的性犯罪有强迫性行为、性骚扰、猥亵及拐卖人口。短语“最低合法性交年龄”
  • 勞森 (英國財相)尼格尔·勞森,布拉比的勞森男爵,PC(Nigel Lawson, Baron Lawson of Blaby,1932年3月11日-),英国政治家,于1983年6月至1989年10月担任财政大臣(财相),曾经是担任财相最长的纪录保持者,超
  • 埃及-叙利亚战役 奥斯曼帝国 法兰西第一共和国 穆拉德·贝伊 易卜拉欣·贝伊 穆斯塔法帕夏 杰查帕夏(英语:Jezzar Pasha) 威廉·西德尼·史密斯(英语:William Sidney Smith) 拉尔夫·阿伯克