一.简介

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

由别人写好的代码或者程序,不需要了解其中的内容,只需要使用即可获得信息的返回。

二.实例

A网站是一个新建立网站,访问量很低,为了让更多人登陆进来互动,在登陆的时候可以选择使用qq账号登陆。

但是A网站又没有qq的数据库,他是如何知道你的qq号正确与否的?如果你登录上了,那这个网站就会知道了,是否有盗号风险?

你在登陆的时候,实际上是使用了qq的api登陆,发送信息也是发送给qq的服务器,他验证后返回正确或者错误,而A网站除了知道这个结果啥都看不到

下面是A网站判断过程

如果 使用qq登陆
放出qq的api给你
如果 登陆信息错误
返回到主页面
其他
让他到用户界面
其他
使用A网站登陆

从上面看出,A网站只需要知道返回信息即可判断,省事简单。

三.编程中的api

以C语言为例,我们使用fopen()函数可以打开一个文件,感觉非常简单。

文件保存在硬盘上,要经过复杂的处理才能打开显示,这些由操作系统完成。也就是说,我们调用fopen()函数来通知操作系统,让操作系统打开一个文件。

看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦。

于是就将这些复杂的操作写到一个函数里面,编译成一个组件(一般是动态链接库),随操作系统一起发布,并配上说明文档,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。

操作系统 API。

最新文章

  1. 一行python代码实现树结构
  2. 【转】中国正爆发聊天APP大战 未来或影响西方
  3. OpenGL-选择与拾取
  4. bjfu1281
  5. Export功能 导致 页面显示很多非法字符,还可能页面显示两次
  6. 关于ANSI 和 Unicode
  7. JavaScript jQuery 中定义数组操作及数组操作
  8. [POJ1961]Period (KMP)
  9. 解决Visual Studio 加载符号卡死情况
  10. 【原创】运维基础之Docker(3)搭建私有仓库
  11. 微信小程序语音与讯飞语音识别接口(Java),Kronopath/SILKCodec,ffmpeg处理silk,pcm,wav转换
  12. Java中char和String 的深入理解 - 字符编码
  13. javascript算法-插入排序
  14. Linux中DNS的设置
  15. hadoop 文件合并
  16. Google Guava中的前置条件
  17. bzoj 5015 [Snoi2017]礼物 矩阵乘法
  18. ubuntu win7双系统设置开机启动顺序
  19. UE4 游戏中csv配置文件使用
  20. mysql之mysql、mysql-devel、mysql-server

热门文章

  1. [ccKILLKTH]Killjee and k-th letter
  2. [loj3341]时代的眼泪
  3. Codeforces 251D - Two Sets(异或方程组)
  4. Codeforces 704C - Black Widow(dp)
  5. Codeforces 1299D - Around the World(线性基+图论+dp)
  6. FESTUNG模型介绍—1.对流方程求解
  7. python-django-类函数__str__ 函数
  8. python-django 使用class重写视图和模板变量
  9. Excel-电话号码隐藏某几个数为*,起到保护信息作用;
  10. 8.7 进程间的通讯:管道、消息队列、共享内存、信号量、信号、Socket