SDK是 Software Development Kit 的缩写,即“软件开发工具包”。 SDK是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到Windows程序开发,我们下面只讨论广义 SDK 的一个子集——即开发Windows 平台下的应用程序所使用的SDK。 为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。 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 的必需资料,所以 SDK的编程方式就是传统的C的编程方式, 通过调用库函数(在这里是win32API), 来实现程序的搭建. 所以程序比较小, 效率高, 在一些底层的, 和对效率要求很高的场合用. MFC就是把SDK函数组织成C++的class提供给程序员使用, 接口简单了, 但是有利就有弊, 它的效率根纯SDK的程序相比, 要稍微逊色一些. 但是在实际的开发中, 我们还是经常要在MFC base的程序里边调用API函数的. 所以, 这两者都是需要熟悉地。 |
什么是SDK?
最新推荐文章于 2024-07-20 20:16:49 发布