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

相关推荐

  • WinForm应用实战开发指南 – 快速开发一个WinForm应用系统

    在我们实际业务开发中,从头开发一个应用系统,不管是基于BS的前端项目,还是基于WinForm的CS应用系统,都是由容易到复杂,逐步演化的一个开发过程。如果我们基于一定基础上,并配合…

    科研百科 2023年3月14日
    302
  • 弱电工程施工管理规章制度(弱电工程施工管理规章制度范本)

    前言: 弱电工程项目管理一门学问,一个项目要想管理好,必须制定一个规章制度,按照基本制度进行项目施工,可以取得事半功倍的功效,分享一篇弱电施工管理制度,大家可以把他挂在项目办公室里…

    科研百科 2023年12月22日
    120
  • 南明区三措并举推进“两学一做”学习教育APP推广使用(两学一做平台)

    新华网贵阳6月3日电(通讯员 杨雪)“这是‘两学一做’手机APP的二维码,扫一扫,下载安装登录党员ID号和初始密码就可以进去学习。”近一个月,南明区各单位的业务骨干们都在忙碌地指导…

    科研百科 2023年9月15日
    181
  • 日常任务管理软件

    日常任务管理软件 在日常工作中,我们经常会收到各种各样的任务,有些是紧急的,有些是不那么紧急,但都需要按时完成。这时候,一款好的日常任务管理软件可以帮助我们更好地管理时间和任务,提…

    科研百科 2024年8月30日
    27
  • 春节信息系统项目管理

    春节信息系统项目管理 春节,是中国最重要的传统节日之一,也是中国人们最隆重的节日之一。在这个节日里,中国人会团聚、赏花灯、放烟火、吃美食等等。对于信息系统项目管理人来说,春节也是一…

    科研百科 2025年1月7日
    2
  • 小米亲情守护替代软件

    小米亲情守护替代软件 近年来,随着智能手机和智能家居技术的飞速发展,小米亲情守护软件成为了人们生活中不可或缺的一部分。它不仅可以实时监控家庭成员的使用情况,还可以及时提醒家庭成员注…

    科研百科 2024年10月15日
    5
  • 考试项目管理考试

    考试项目管理考试: 成功之路 随着现代项目管理的日益普及,考试项目管理考试已经成为了许多考生和家长关注的热点。考试项目管理考试是项目管理领域的专业考试,旨在评估考生的项目管理知识和…

    科研百科 2024年5月30日
    103
  • 生鲜配送APP定制服务,满足不同需求食配企业。@菜大蔬…(生鲜蔬菜配送平台)

    在现代社会越来越多的人,需要快速优质的生鲜配送服务。 为了满足不同消费者的需求,生鲜配送app提供了定制服务,为消费者量身打造一款符合其需求的产品。消费者可以定制需要的生鲜品种,如…

    科研百科 2024年5月8日
    61
  • 项目管理 风险管理工具

    项目管理与风险管理是当今商业世界中不可或缺的两个工具。在项目管理中,风险是不可避免的,但它们是否可以被管理以及如何管理取决于项目的性质、规模和复杂性。在本文中,我们将探讨项目管理中…

    科研百科 2024年9月3日
    36
  • 宣汉县创新模式走特色之路“借牛养牛”脱贫有稳力

       四川新闻网达州5月13日讯(黄韦为 谭光海))“今年,我从养殖大户领了两头母牛回家育仔,养到明年就可出栏2头牛仔,至少净赚1万元,脱贫致富有望了。&rd…

    科研百科 2022年5月27日
    379