SDK是什么?
的有关信息介绍如下:"SDK就是SoftwareDevelopmentKit的缩写,中文意思就是“软件开洋仅教故叶台气代销粒跑发工具包”。这是1个比覆盖面相当广泛的名词然好,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义SDK的1个子凯款集——即开发Windows平台下的应用程序所用的SDK。
呵呵,其实侵听则多集报零由上边只是说了1个SDK差不多的概念而已,理解啥是SDK真有这么容易吗?恐怕没这么容易!为了解释啥是SDK我们不得不引入API、动态链接库、导入库等等概念。^_360问答^,别怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、配音半却坏字至举策极新概念和新术语。
首先要接触的是“API”,也就是ApplicationProgrammingInterface,其实就是操作系统(Syst随程的语em)留给应用程序接印本品岩胶培的1个调出使用接口,应用程序通过调出使用操作系统(System)的API而使操作系统(期富几良望验江条马吗System)去执越术儿概括行应用程序的命令(动作)。其实早在DOS时代就有API的概念,只不过那个时候的API是以中断调出使用的形式(INT21h)提供的,在DOS下跑的应用程序都直接或间接的通过中断调出使用来用操作系统(System)功能,例如将AH置为30h后调出使用INT21h就可以得到DOS操作系统(System)的版本号。而在Windows中,系统(System)API是以函数调出使用的方式提供的。同样是取得操作系统(System)的版本号,在Windows中你所要做的就是调出使用GetVersion还般映Ex()函数。可以这么说,DOSAPI是“Thinkingin汇编语女置有盟言”的,而WindowsAPI则是“Thinkingin高级语言”的。DOSAPI是系统(S静消ystem)程序的一部分,他们与系统(System)一同被载入内存并且可以通过中断矢量表找到他们的入口,那么WindowsAPI呢?要说明白这个问题就不得不引入我们下边要介绍得这及身飞站目止个概念——DLL。
市五DLL(又是1个缩写,感觉I院极好跑攻商T这个行业里三字头缩写特别多),即DynamicLinkLibrary(动态链接库)。我们常常会看见有些.dll格式的文件,这类文件就是动态链接库文件,其实也是一种可执行文件格式。跟.exe文件不一样的是,.dll文件不能直接执行,他们通常由.exe在执行时装入,内含有有些资源以及可执行代码等。其实Win代为汉故铁罪使dows的三大模块就是以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位元组的特徵值就好了"