为什么术语API和SDK似乎可以互换使用?

Mar*_*ter 1 terminology

与SDK的定义相比,API的可接受定义是什么?两者似乎都可以互换使用,所以我想象一些被称为API的库实际上是SDK,反之亦然.还有,有这个区别的原因吗?

谢谢!

use*_*878 9

API或应用程序编程接口定义了应用程序用来使用某些库或子系统的一组类,函数和结构.例如,windows多媒体子系统和Windows套接字子系统都有自己的API.API不是具体实体,您不能指向文件并说文件本身是API.API仅仅是程序需要用来利用库或子系统的通信协议的规范.

SDK或软件开发工具包包含工具,文档和所需文件,可针对一个或多个API进行编程.某些SDK(但绝不是全部)可能包含示例代码以演示如何使用API​​.SDK的2个示例是Windows平台SDK和.NET Framework SDK.

这些术语可互换使用的最可能原因是因为有时SDK只包含单个API的工具,文档和文件,并且API和SDK共享相同的名称.这方面的一个例子是用于开发winamp插件的SDK.