静态库

✍ dations ◷ 2025-12-06 20:28:34 #计算机程序库

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

相关

  • 580–599医学导航:泌尿系统解剖/生理/发育/细胞病理/酸碱/先天/肿瘤、症状/齐名、尿液手术/注射、药物(G4B)、血检、尿检
  • 中国水危机中国给水排水系统的建设随着中国经济与科技的高速发展日新月异、成果斐然,但距其完善又任重道远。随着中国城市化进程的逐步加快与城乡贫富差距的进一步扩大,以及水资源短缺、
  • Wallace, Alfred阿尔弗雷德·拉塞尔·华莱士 OM FRS(英语:Alfred Russel Wallace,1823年1月8日-1913年11月7日),英国博物学者、探险家、地理学家、人类学家和生物学家,以“天择”独立构想演化论而
  • 碳酸钠碳酸钠(英语:sodium carbonate),俗名苏打(soda)、纯碱(soda ash 、soda crystals)、洗涤碱(washing soda),生活中亦常称“碱”。化学式:Na2CO3,普通情况下为白色粉末,为强电解质。密
  • 丁香丁香可以指:
  • 麦克·彭博迈克尔·鲁本斯·布隆伯格,KBE(英语:Michael Rubens Bloomberg,1942年2月14日-),美国商人,第三代俄罗斯犹太移民,彭博有限合伙企业创始人,2001年至2013年间担任纽约市市长,C40城市气候
  • 柏林条约《柏林条约》是柏林会议(1878年6月13日-7月13日)的最终议定书。根据条约,与会国英国、奥匈帝国、法兰西第三共和国、德意志帝国、意大利王国、俄罗斯帝国与奥斯曼帝国修改了该年
  • 地方政府美国华盛顿州共有281个地方政府。州法律决定了各个地方政府的权力。法律上来说,华盛顿州的一个城市可以以它的等级来作主要描述。华盛顿州的城市共分为五级:一级市为分级当时
  • 伦巴第人彼得彼得伦巴都(英语:Peter Lombard,1100年-1160年),又称为伦巴第人彼得,著名中古时期神学家,经院哲学的代表人物之一,活跃于巴黎大学。是一位哲学家、神学家、于1159年被任命为巴黎主教
  • 假旗行动栽赃行动,亦作嫁祸行动,是隐蔽行动的一种,指通过使用其他组织的旗帜、制服等手段误导公众以为该行动由其他组织所执行的行动。栽赃行动在谍报活动中非常常见,此外民间的政治选举