【答疑解惑】什么是API?

有朋友在群里问什么是API?这个问题是很多初学者常常听到但又感觉讳莫如深。

API的英文是ApplicationProgramming Interface,也就是应用程序编程接口。以下选自百度百科对API的解释说明:

API(ApplicationProgramming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

简单的说就是为第三方提供具有特定功能或者实现的函数,一般情况下,该函数不对外提供源码,只有提供函数接口的参数和功能的详细说明。所有的系统平台都提供大量的API,比如Windows、Unix/Linux、Mac。除了系统平台,大量开源软件、中间件也提供许多API共用户调用以实现特定功能。下面我举一个典型的Windows API:

UINT WINAPI GetSystemDirectory(LPTSTR lpBuffer, UINT uSize);

说明:该函数获取Windows的系统目录。参数lpBuffer提供用于返回的系统目录,uSize表示lpBuffer控件的大小。如果你的Windows系统安装在C盘,返回结果应该是C:\Windows\System。

广义上说,各种编程语言提供的库函数也可以称为API,因为不管从哪个角度来说,它都满足API这个定义,只是我们常常把编程语言叫做库函数,本质上API也是以函数提供。只要你在编程,你就会使用API。

对于我们编程人员来说,就是要正确使用API才不至于导致错误,使用API需要注意的就是认真阅读API的各个参数、返回值、注意事项以及关系密切的API说明。只要注意到这些,绝大多数的API都难不倒你了。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mySoul

node web模块 (服务器端和客户端)

web服务器指网站服务器,指驻留在因特网上的某种程序,web浏览器的基本功能,提供信息浏览服务

1167
来自专栏决胜机器学习

设计模式专题(九) ——外观模式

设计模式专题(九) ——外观模式 (原创内容,转载请注明来源,谢谢) 一、概述 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了...

33812
来自专栏子勰随笔

通过JS检测当前设备类型

1569
来自专栏Java帮帮-微信公众号-技术文章全总结

Java中数据库连接池原理机制详解【面试+提高】

Java中数据库连接池原理机制详解 【面试+提高】 连接池的基本工作原理 1、基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低...

3838
来自专栏杂七杂八

itchat实现微信好友头像拼接图

偶然在网上发现itchat这个框架,itchat是一个开源的微信个人号接口,它使python调用微信变得非常简单。看到网上有人发自己微信好友的头像拼接图,自己也...

3448
来自专栏Python攻城狮

Python网络爬虫(五)- Requests和Beautiful Soup1.简介2.安装3.基本请求方式5.程序中的使用4.BeautifulSoup4

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,...

714
来自专栏史上最简单的Spring Cloud教程

Openresty最佳案例 | 第4篇:OpenResty常见的api

获取请求参数 vim /usr/example/example.conf location /lua_var { default_type ...

36311
来自专栏玄魂工作室

CTF实战12 任意文件包含漏洞

该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

913
来自专栏Python中文社区

开车啦!小爬虫抓取今日头条街拍美女图

專 欄 ❈追梦人物,电子科技大学计算机学院研究生,从事大数据分析研究方向。主要使用 Python 语言进行相关数据的分析,熟练使用 django 开发网站系统...

2575
来自专栏PHP技术

php基础知识点回顾

定义和用法 strrev() 函数反转字符串。 语法 strrev(string) 参数 描述 string 必需。规定要反转的字符串。 echo和...

2804

扫码关注云+社区