静态库

✍ dations ◷ 2024-12-22 18:24:27 #计算机程序库

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

相关

  • 自然杀伤细胞自然杀伤细胞(英语:natural killer cell)是一种细胞质中具有大颗粒的细胞,简称NK细胞(NK cell),也称作大颗粒淋巴细胞(LGL, Large Granular Lymphocytes)。由骨髓淋巴样干细胞发育而
  • 应用科学应用科学(英语:Applied science)是将自然科学的知识应用到实际问题上的科学,其多来源于实践本身,会存在一定的科学内容,与工程、医学有着密切的关系。若以科学研究含盖内容有“理
  • 美国儿童与青少年精神病学会美国儿童与青少年精神医学会(英语:American Academy of Child and Adolescent Psychiatry、AACAP)是一个总部设在美国华盛顿哥伦比亚特区的非营利专业技术协会,致力于提倡儿童与
  • 八目鳗七鳃鳗科(学名:Petromyzontidae),又名八目鳗、七星子,是圆口纲七鳃鳗亚纲七鳃鳗目的一个科,其下生物是至今少数仅存的无颌类脊椎鱼形动物之一。最古老的七鳃鳗化石,有3.6亿年历史,在
  • 宫外孕异位妊娠(Ectopic pregnancy),又称为子宫外孕(eccyesis),是指胚胎在子宫以外部位着床的妊娠并发症。典型症状和体征包含腹痛及阴道出血(英语:vaginal bleeding),上述二种症状都有的女
  • 老挝语老挝语(ພາສາລາວ phasa lao),又称寮语、寮国语、老语,属壮侗语系侗台语族壮傣语支,是老挝的官方语言。其使用人口约520万,主要分布于老挝,以及泰国东北部和北部的佬族居住地
  • 首都医科大学附属北京同仁医院坐标:39°50′57″N 116°23′15″E / 39.849278°N 116.387429°E / 39.849278; 116.387429首都医科大学附属北京同仁医院是北京市的一所三级甲等医院,离崇文门至近。现有员
  • 第七舰队第7舰队为大日本帝国海军之一舰队。太平洋战争末期时,为了反击同盟国军在各海域攻撃船舶输送而使船队瘫痪麻痹;及确保西内海地域的关门、对马、朝鲜等之海峡防卫与船舶安全输
  • 中国移动电话产业中国移动电话产业是目前世界上发展最快的行业之一。中国移动、中国联通和中国电信是中国三大移动电话网络服务提供商。1988年,中国GSM网络建成 。联想移动成立于2002年。2005
  • 丝状病毒科丝状病毒科(学名:),单股反链病毒目,是一种感染脊椎动物的病毒,包含的属有埃博拉病毒和马尔堡病毒。病毒粒(Virion)具有复杂构造,具外套膜(envelope),核鞘(nucleocapsid),聚合酶复合体和基质