当前位置:嗨网首页>书籍在线阅读

09-API

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.2.1 API

API定义了软件模块之间在源代码层交互的接口。它提供一组标准的接口(通常以函数的方式)实现了如下抽象:一个软件模块(通常是较高层的代码)如何调用另一个软件模块(通常位于较低层)。举个例子,API可以通过一组绘制文本函数,对在屏幕上绘制文本的概念进行抽象。API仅仅是定义接口,真正提供API的软件模块称为API的实现。

通常,人们把API称为“约定”,这并不合理,至少从API这个术语角度来讲,它并非一个双向协议。API用户(通常是高级软件)并没有对API及其实现提供任何贡献。API用户可以使用API,也可以完全不用它:用或不用,仅此而已!API的职能只是保证如果两个软件模块都遵循API,那么它们是“源码兼容”(source compatible),也就是说,不管API如何实现,API用户都能够成功编译。

API的一个实际例子就是由C标准定义的接口,通过标准C库实现。该API定义了一组基础函数,比如内存管理和字符串处理函数。

在本书中,我们会经常提到各种API,比如第3章将要讨论的标准I/O库。1.3节给出了Linux系统编程中最重要的API。