SDK
就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。可以理解为:辅助开发某一类软件的相关文档、范例和工具的集合可以称作 “SDK”。
为了更清楚地理解SDK的意思,我们还需要了解
“API”
、
“动态链接库”
、
“导入库”
这几个概念,一个一个来!
API
,全称 Application Programming Interface,中文意思是 “应用程序接口”。其实就是操作系统留给应用程序的一个调用接口。应用程序只有调用了这个接口,系统才能去执行该应用程序的命令。在 Windows系统里,API 是以函数的方式提供的,API函数都集成在 DDL里面。
DLL
,全称 Dynamic Link Library,中文意思是 “动态链接库”。以 .dll 为后缀的文件就是动态链接库文件,它们也是一种可执行文件格式。但跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。若想使用DLL中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB)。
H
文件,头文件,作用是声明函数接口。
LIB
库包含两种(静态库、动态链接库的导入库),这里只说动态链接库的导入库(Import Libary)。导入库文件的作用:导入库包含了地址符号表等,确保程序找到对应函数的一些基本地址信息。例如,当我们在自己的程序中引用了一个h头文件里的函数,LIB则会告诉链接器调用的函数在哪个DLL中,函数执行代码在DLL中的什么位置。
所以,在开发软件中,为了使应用程序能调用系统去执行一些指令,我们就需要去使用 API 函数,因此就要有跟 API 所对应的 .H 和 .LIB 文。而 SDK 正是集成了这一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。