API(Application Programming Interface,编程接口)是一些预先定义的,目的是提供与开发人员基于某或硬件得以访问一组的能力,而又无需访问源码,或理解内部工作机制的细节。
API与系统调用的区别:
系统调用代码都处于内核态,API是操作系统提供的一组函数,通常以库的形式存在,供用户调用,所以,API代码可能是完全是用户代码,也有的API调用了系统调用。
----------------------------------------------------------------------
API
(Application Programming Interface,应用程序编程接口)其实就是留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。
Windows API
操作系统的用户接口
API函数包含在Windows系统目录下的文件中。Windows API是一套用来控制的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像的天然。而其他的只是提供一种能自动而且更容易的访问API的方法。当你点击上的一个时,Windows会发送一个消息给,VB获取这个调用并经过分析后生成一个特定事件。
更易理解来说:系统除了协调应用程序的执行、的分配、的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个)可以帮助应用程序达到开启视窗、描绘图形和使用周边等目的,由于这些函数服务的对象是应用程序,所以称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的。
凡是在 Windows工作环境底下执行的应用,都可以Windows API。
linux API
在中,用户编程接口API遵循了中最流行的应用编程界面标准---标准。标准是由和ISO/IEC共同开发的标准系统。该标准基于当时现有的实践和经验,描述了的编程接口API,用于保证应用程序可以在一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。
2开放平台
基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。
开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的反而更增加了用户的粘性。在的浪潮到来之前,开放的API 甚至主要体现在桌面应用上,而现在越来越多的应用面向开发者开放了API。
具备分享、标准、去中心化、开放、模块化的站点,在为使用者带来价值的同时,更希望通过开放的API 来让站点提供的服务拥有更大的用户群和服务访问数量。
站点在推出基于开放API 标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API 提供的服务整合到自己的应用之中。同时,这种整合API 带来的服务应用,也会激发更多富有创意的应用产生。
为了对外提供统一的API 接口,需要对开发者开放资源调用API 的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。
当然,开放API 的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。
视频云技术提供商CC视频开放API接口,用户可以在自己的网站后台轻松完成视频的上传、视频播放控制操作,并可批量获取视频及平台信息。
3API 声明
正如在"什么是API"中所说,API函数包含在位于系统目录下的中。你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用API Text Viewer。 要想在你的工程中声明API函数,只需运行API Text Viewer,打开Win32api.txt或。如果你已经把它转换成了数据库的话,这样可以加快速度。 使用预定义的和类型也是同样的方法。 API除了有应用“”的意思外,还特指API的说明文档,也称为帮助文档。
4常见问题
假设你想在你的中声明一个,粘贴然后运行,VB会告诉你:编译错误...Declare 语句不允许作为类或对象模块中的Public(公共的) 成员。..看起来很糟糕,其实你需要做的只是在声明前面添加一个Private(私有的)。不要忘了,可是这将使该函数只在该可用。. 在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数、常量或其他的什么东西共用了一个名称。由于绝大多数的函数都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行。
5程序类型
远程过程调用():通过作用在共享器上的过程(或任务)实现程序间的通信。
标准查询语言():是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型信息,通过程序间的直接通信实现数据共享。
当前应用于 API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有和操作系统。这些API 以不同的格式连接数据。每种要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。
6API与GUI
API 接口属于一种操作系统或,接口属于一种图形操作系统。两者都属于直接。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用,该接口标准被称之为开放式API。