【MFC基础教程】API与SDK的区别与联系
来源:互联网 发布:全国交通道路网络数据 编辑:程序博客网 时间:2024/05/16 05:03
SDK就犹如大名鼎鼎的天上人间,API就是里面工作的姐姐们。没有天上人间,姐姐们还是可以在晚上辛勤的工作嘛,正所谓“起的比鸡早,睡得比鸡晚”嘛。但是没有了姐姐们,天上人间就没法创造GDP了。
——小宝
小宝这两天听到女朋友萌姐说的最多的就是API与SDK,起初我通过这两个缩写的英文全称能够基本区分它们的概念,可是,与萌姐讨论多了,就发现这两个概念好像有着千丝万缕的联系但是也是有区别的,而具体的理论概念萌姐也不能说出十分详细的理解。
没关系,我们在CSDN上写东东,不会就可以在这里的论坛上提问或者查询嘛。来,听听大神们是怎么理解API与SDK的吧。
Kusk:API可以看作一种SDK。
fen_min:API(Application Programming Interface )是操作系统提供的编程接口,在Windows中以Dll文件提供USER32.dll,Kernel32.dll等(Windows 3.x中为.Exe文件,但仍然是动态链接库,只是文件名后缀不一样而已)提供了程序运行时要用的功能函数;而SDK是厂家提供的开发工具库(Software Development Kit),不在操作系统中,是另外提供的,其中包含了开发时要用的调试,编译工具等,以及一些文档。做程序时使用SDK,但程序最终要调用API来实现其功能。
Kendiv:不错,能不能再详细些,我的感觉,SDK何API的关系似乎界限不太明显了。
fen_min:你可以这样想,API就是一个平台,是操作系统给的,其他的进程(不包括系统进程,ring0级的)都通过调用这个平台给的函数接口来实现所要的功能,比如实现窗口,打开文件等,而不可能自己去实现这些,当然操作系统也不会同意(:。而SDK只是一个工具包而已,无他,只是提供你完成一个操作系统上能够运行的程序所需的工具而已。仔细看一看它们的英文单词,可能会对你理解这些有好处。
doomleo:sdk主要用来区分MFC,可以这么说,以API为主开发的软件可环境就可以称为SDK
_____:偏激一点讲
没有SDK,用API你照样可以写程序;没有API,只有SDK,你就不能些程序了
azs:API是指通过DLL输出函数为使用该DLL的程序提供的编程接口,不仅包括MS提供的,也包括其他厂商提供的,我们自己做的DLL提供给别人使用也叫API,不过在windows平台下一般提到API,均指MS专有的API,所以咬文嚼字的人会纠正你:win32 API。
操作系统专门提供的叫系统服务,那不叫API,不过有人说可以看作是API,大概可以吧,对于系统服务,一般程序用不到,可能只有驱动程序之类的会用到。
SDK字面意思是指软件开发包,其实就是一个二次开发平台,就是说他把下面的东西都封装了,不希望甚至根本就不让你看到底下的内容,只允许使用它提供的API做开发,和API的性质差不多,最初也不是但指MS的,任意厂商提供的开发环境都叫SDK,但后来在windows平台下一般提到SDK,均指MS专有的SDK环境
啊,这下小宝明白了。总结说来呢,API就是系统提供的一系列接口函数,而SDK呢,就是开放所需资源的一种集合。那举个栗子呢,SDK就犹如大名鼎鼎的天上人间,API就是里面工作的姐姐们。没有天上人间,姐姐们还是可以在晚上辛勤的工作嘛,正所谓“起的比鸡早,睡得比鸡晚”嘛。但是没有了姐姐们,天上人间就没法创造GDP了。
参考原文:http://bbs.csdn.net/topics/426083
- 【MFC基础教程】API与SDK的区别与联系
- Windows API、MFC、SDK的区别与联系
- API 和 SDK的区别与联系
- SDK 、API 与MFC区别
- MFC与SDK 实质的联系
- MFC与API,SDK
- SDK与MFC的区别
- MFC与SDK的区别
- MFC与SDK的区别
- MFC与SDK的区别
- SDK与API的区别
- SDK与API的区别
- .Net和MFC的区别与联系
- SetWindowPos cannot overload 7个参数? (SDK API 与 MFC API的区别)
- SDK与API区别
- ATL CLR MFC Win32 常规 的区别--sdk与api的区别
- SDK&API&MFC 的区别
- SDK编程与MFC编程的区别
- java_静态类
- 别人遇到的问题
- 导航栏添加多个按键
- 黑马程序员_软件计数器
- AngularJS资源大集锦
- 【MFC基础教程】API与SDK的区别与联系
- java位操作符总结
- Kettle命令行使用说明
- 润乾——多维分析的基础概念
- this和event.target的区别
- 【数据结构】第2周 栈与队列 1:用队列对扑克牌排序
- IOS高级开发~开机启动&无限后台运行&监听进程
- NSUserDefaults
- oracle event ----- Log file sync