sdk(软件开发工具包)

软件开发工具包(外语首字母缩写:SDK、外语全称:Software  Development  Kit)一般都是一些 软件工程师为特定的 软件包、 软件框架、 硬件平台、 操作系统等建立应用软件时的 开发工具的集合。 软件开发工具包括广义上指 辅助开发某一类软件的相关文档、范例和工具的 集合。软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发  Windows 平台下的应用程序所使用的 SDK。它可以简单的为某个 程序设计语言提供 应用程序接口  API的一些文件,但也可能包括能与某种 嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

和sdk有关的营销手段:

为了鼓励开发者使用其系统或者语言,许多 SDK 是 免费提供的。 软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为 营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的 SDK 可能与自由软件开发抵触。 GPL 能使 SDK 与专有软件开发近乎不兼容。 LGPL 下的 SDK 则没有这个问题。

API

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

可以这么说, DOSAPI 是 “Thinking in 汇编语言” 的,而 Windows API 则是 “Thinking in 高级语言” 的。

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

DLL

DLL,即 Dynamic Link Library( 动态链接库)。在  Windows 环境下含有大量 . 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 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写  Windows 应用程序的开发方式叫做 “SDK编程”。而API和 SDK 是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL 和 MFC,虽然他们比起 “SDK 编程” 来有着更高的 抽象度,但这丝毫不妨碍我们在需要的时候随时直接调用  API 函数 。

与MOD的关系

游戏中就有很多SDK 工具包,可以开发 MOD和资料片。

 

 

(MOD(游戏增强程序)一般指游戏模组

MOD是英文单词modification(意为修改)的缩写,汉语音译作“模组”,也称游戏模组,它是游戏的一种修改或增强程序。

游戏模组就是将电脑游戏中的道具、武器、角色、敌人、事物、模式、故事情节等做出修改,又或是加入新的道具及事物,多见于侠盗猎车,上古卷轴,Minecraft(我的世界)等沙盒类游戏)