C|应用程序编程接口(API)及其实现(Implementation)

A library implements a collection of functions and definitions that can be used by other programs. A C library consists of two parts:

库实现了可由其他程序使用的函数和定义的集合。C库由两部分组成:

The application programming interface (API) to the library, which gets defined in one or more header files (.h files) that must be included in C source code files that plan to use the library. The headers define what the library exports to its users. These definitions usually include library function prototypes, and they may also include type, constant, or global variable declarations.

库的应用程序编程接口(API),它在一个或多个头文件(.h文件)中定义,这些头文件必须包含在计划使用库的C源代码文件中。头文件定义了库导出给用户的内容。这些定义通常包括库函数原型,也可能包括类型、常量或全局变量声明。

The implementation of the library’s functionality, often made available to programs in a precompiled binary format that gets linked (added) into the binary executable created by gcc. Precompiled library code might be in an archive file (libsomelib.a, archive) containing several .o files that can be statically linked into the executable file at compile time. Alternatively, it may consist of a shared object file (libsomelib.so, shared object) that can be dynamically linked at runtime into a running program.

库功能的实现,通常以预编译的二进制格式提供给程序,该格式链接(添加)到gcc创建的二进制可执行文件中。预编译的库代码可能位于包含多个.o文件的存档文件(libsomelib.a, archive)中,这些文件可以在编译时静态链接到可执行文件。或者,它可以由一个共享对象文件(libsomelib.so, shared object)组成,该文件可以在运行时动态链接到正在运行的程序中。

For example, the C string library implements a set of functions to manipulate C strings. The string.h header file defines its interface, so any program that wants to use string library functions must #include <string.h>. The implementation of the C string library is part of the larger standard C library (libc) that the gcc compiler automatically links into every executable file it creates.

例如,C字符串库实现了一组操作C字符串的函数。字符串.h头文件定义了它的接口,因此任何想要使用字符串库函数的程序都必须包含<string.h>。C字符串库的实现是更大的标准C库(libc)的一部分,gcc编译器会自动链接到它创建的每个可执行文件中。

A library’s implementation consists of one or more modules (.c files), and may additionally include header files that are internal to the library implementation; internal header files are not part of the library’s API but are part of well-designed, modular library code. Often the C source code implementation of a library is not exported to the user of the library. Instead, the library is made available in a precompiled binary form. These binary formats are not executable programs (they cannot be run on their own), but they provide executable code that can be linked into (added into) an executable file by gcc at compilation time.

库的实现由一个或多个模块(.c文件)组成,还可以包括库实现内部的头文件;内部头文件不是库API的一部分,而是精心设计的模块化库代码的一部分。库的C源代码实现通常不会导出到库的用户。相反,该库是以预编译的二进制形式提供的。这些二进制格式不是可执行程序(它们不能自己运行),但它们提供了可执行代码,可由gcc在编译时链接到(添加到)可执行文件中。

ref

https://diveintosystems.org/

-End-

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月20日 上午8:53
下一篇 2023年3月20日 上午9:03

相关推荐

  • 基层党支部书记怎么当?茂名供电局九天三期封闭培训打造过硬党建工作队伍

    6月3日至19日,南方电网广东茂名供电局举办2019年党支部书记轮训班。培训班分三期,每期三天,对茂名供电系统内职能部门、班站所各级党(总)支部书记共188人进行封闭式培训,旨在提…

    科研百科 2023年10月14日
    188
  • 项目进度管理程序

    项目进度管理程序 项目进度管理程序是一种用于跟踪和管理项目进度的工具。它可以帮助项目管理人员确定项目的进度, 并根据需要进行调整。一个好的项目进度管理程序可以提高项目的效率,减少风…

    科研百科 2024年9月4日
    32
  • researchgate

    ResearchGate: 一个让学术研究变得更容易的平台 ResearchGate是一个全球性的学术社交平台,由一群热爱学术研究的学生和专业人士创建。它旨在帮助学术研究者之间建立…

    科研百科 2024年10月31日
    0
  • 🚗🏙 城市匹配游戏:让你对各类交通工具了如指掌!🔍🚇

    城市匹配游戏是一款能让你眼前一亮的交通工具分类配对游戏!⛽⚓⛵⛴✈你可知道不同城市里的交通工具种类繁多吗?现在就来测试一下,是否能分辨出它们吧!⚓ 游戏规则非常简单,你只需要将相同…

    科研百科 2023年8月7日
    138
  • 可能对个人信息主体产生其他不利影响

    个人信息主体的个人信息在泄露后可能会遭受多种不利影响,包括: 1. 被用于非法活动。个人信息主体的个人信息可能会被黑客或其他非法实体用于犯罪活动,例如网络钓鱼,诈骗和盗窃等。 2….

    科研百科 2024年10月28日
    0
  • 深圳律师:为什么要规范企业合同管理?-法斗士

    目前,中国的市场经济发展迅速,企业的经济活动非常频繁。随着经济活动的发展,企业会和其他民事主体签订一系列合同文件,涉及企业经营的方案设计、采购、生产、销售等各个环节。各个环节可能涉…

    科研百科 2022年11月28日
    335
  • 中医科研课题申请书范文(四川中医科研项目申请书)

    四川中医科研项目申请书 项目名称:治疗慢性阻塞性肺疾病的中药方研究 项目背景: 慢性阻塞性肺疾病(COPD)是一种常见的呼吸系统疾病,其症状包括呼吸困难、咳嗽、胸闷和乏力等。目前,…

    科研百科 2024年4月3日
    60
  • 基层党建工作经验交流材料范文(基层党建工作经验交流材料范文大全)

    开局就是决战,起步就是冲刺,脱贫攻坚,决战在即,决胜在望,黄平县以推进产业党建为统揽,全面落实“五步工作法”,有序推动“春风行动”在脱贫攻坚中精准问效。 政策设计:精准施策 产业党…

    科研百科 2024年2月8日
    160
  • 浙江师范大学博士后待遇

    浙江师范大学博士后待遇 博士后是高校科研队伍的重要组成部分,他们作为博士学位的获得者,在高校、研究机构或企业从事博士后研究工作,为高校和研究机构的科研事业做出了重要贡献。为了吸引优…

    科研百科 2024年10月24日
    0
  • 四色党支部

    四色党支部:一个信仰坚定的组织 四色党支部,一个信仰坚定的组织,成立于2019年,由一群志同道合的党员组成。这个党支部的成立,旨在促进党员的思想进步和理论学习,加强党支部的凝聚力和…

    科研百科 2024年10月14日
    6