SDK是什么

 我来答
猪八戒网
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

其实很简单,SDK就是SoftwareDevelopmentKit的缩写,中文意思就是“软件开发工具包”。

这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。

具体到我们这个系列教程,我们后面只讨论广义SDK的一个子集——即开发Windows平台下的应用程序所使用的SDK。

呵呵,其实上面只是说了一个SDK大概的概念而已,理解什么是SDK真有这么容易吗?恐怕没这么简单!为了解释什么是SDK我们不得不引入API、动态链接库、导入库等等概念。^

_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是ApplicationProgrammingInterface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。其实早在DOS时代就有API的概念,只不过那个时候的API是以中断调用的形式(INT21h)提供的,在DOS下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将AH置为30h后调用INT21h就可以得到DOS操作系统的版本号。而在Windows中,系统API是以函数调用的方式提供的。同样是取得操作系统的版本号,在Windows中你所要做的就是调用()函数。

可以这么说,DOSAPI是“Thinkingin汇编语言”的,而WindowsAPI则是“Thinkingin高级语言”的。

DOSAPI是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么WindowsAPI呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL,即DynamicLinkLibrary(动态链接库)。我们经常会看到一些.dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟.exe文件不同的是,.dll文件不能直接执行,他们通常由.exe在执行时装入,内含有一些资源以及可执行代码等。其实Windows的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了API函数的执行代码。为了使用DLL中的API函数,我们必须要有API函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在DLL中找到API的入口点而使用的。

所以,为了使用API函数,我们就要有跟API所对应的.H和.LIB文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了SDK的含义。

由于SDK包含了使用API的必需资料,所以人们也常把仅使用API来编写Windows应用程序的开发方式叫做“SDK编程”。而API和SDK是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL和MFC,虽然他们比起“SDK编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用API函数

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式