其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。
首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。
DLL,即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .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 函数。
就是
Software
Development
Kit
的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关
文档
、范例和工具的集合都可以叫做“SDK”
sdk意思是软件开发工具包,一般是一些软件工程师为特定的软件、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
sdk一般而言即开发 Windows 平台下的应用程序所使用的 sdk。它以简单的为某个程序设计语言提供应用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。sdk还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
sdk许多是免费提供的。为了鼓励开发者使用其系统或者语言,许多 sdk是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK从而会吸引更多人由于能免费为其编程而购买其构件。
扩展资料:
sdk为编程语言的API提供了一些文件。 sdk提供的文件可以进入操作系统留给应用程序的调用接口。应用程序通过sdk提供文件来调用操作系统的API,以使操作系统能够执行应用程序的命令。通过从这些API文件运行API应用程序,可以直接或间接轻松调用操作系统内部程序。
sdk软件开发工具包通常包含基本参考的支持文档。像.dll格式的文件,这些文件不能直接执行,里面包含一些资源和可执行代码等,其中也包含API函数的执行代码。这些文件提供可作为示例代码,也可提供支持技术说明解释。
sdk作为软件开发工具包,包含了使用 API 的必需资料。人们将仅用API编程的方式编写Windows应用程序称为“sdk编程”。 sdk是开发Windows应用程序的必备工具,因此其他编程框架和库都是基于它们构建的,例如VCL和MFC。
参考资料来源:百度百科——sdk