"SDK就是Software林命杂DevelopmentKit的缩写,中文意思就是“软件开发工具包”。这是1个覆盖面相当广泛的名映很帝哥布补盾觉待词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这来自个系列教程,我们后面只讨论广义SDK的1个子集——即开发Windows平台下的应用程序所用的SDK。
呵呵,其实上边只是说了1个SDK差不多的概念而已,理解啥是SDK真有这么容易吗?360问答恐怕没这么容易!为了解释啥是S千DK我们不得不引入API、动态链接库、导入库等等概念。^_^,别怕,也就是探滑几个新的名词而已,我也是到了语清抓州既色础序论远它大学快结束的时候才体会到陈安院父很侵轻其实学习新知识就是在学习新名词、新概念和新术语。
首先要接触的是“度API”,也就是ApplicationProgrammingInterface,其实就是操作系统(System)留给应用程序的1个调出使用接口,应用程序通过调出使用操作系统(System)的API而使操作系统(Sys校明陈影讲程曾训按tem)去执行应用后程序的命令(动作)。其实市早在DOS时代就有API的概念,只不过那个时候的API是以中断调出使用的形式(INT21h)提供整她省告行强及传浓的,在DOS下跑的应用程序都直接或间接的通过军松促裂量又地市叫贵房中断调出使用来用操作系统(System较领坚)功能,例如将AH置为30h后调出使用INT21h就可以得到DOS操作系统(System)的版本号居跳压营表虽。而在Windows中,系统些费误(System)API是以函数调出使用的方式提供的。同样是取得操作系统(System)的版本号,在Windows中你所要做的就是调出使用GetVersionEx()函数。可以买往含以这么说,DOSAPI是“Thinkingin汇编语言”的,而WindowsAPI则是“Thinkingin高级语言”的。DOSAPI是系统(System)程序的一部分,他们与系统(System)一同被载入内存并且可以通过中断针武温矢量表找到他们的入口,那么WindowsAPI呢?要说明白这个问题就不得不引入我们下边要介绍得这个概念——DLL。
DLL(又是1个缩写,感觉IT这个行业里三字头缩写特别多),即DynamicLinkLibrary(动态链接库)。我们常常会看见有些.dll格式的文件,这类文件就是动态链接库文件,其实也是一种可执行文件格式。跟.e剂款光讲员移某广视香xe文件不一样的是,.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函数
所谓的MD5,是密码(PassWORD)学中的一门演算法,在电脑(PC)界来说,常常运用在数位签章之上,他可以将1个很大的档案(例如MP3音乐(music),ISO光碟影像档),经过某种运算,签出一组特徵值,而他的长度就是32个位元组,所谓的特徵值,也就是说,基本上,每一个档案的特徵都不一样,自然签出来的特徵也不一样罗,因此,举例来说,若是我们要比对某某MP3档案是不是已经有了,我们不要比对整个档案(可能有4MB那麽大),我们只需要比对32位元组的特徵值就好了"
标签:SDK