WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
SDK
SDK(Software Development Kit, 即軟件開發(fā)工具包 )一般是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。
簡(jiǎn)介[ ]
它可以簡(jiǎn)單的為某個(gè)程序設(shè)計(jì)語(yǔ)言提供應(yīng)用程序接口的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一般的工具包括用于調(diào)試和其他用途的實(shí)用工具。SDK 還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點(diǎn)的支持文檔。
軟件工程師通常從目標(biāo)系統(tǒng)開發(fā)者那里獲得軟件開發(fā)包。為了鼓勵(lì)開發(fā)者使用其系統(tǒng)或者語(yǔ)言,許多 SDK 是免費(fèi)提供的。SDK 經(jīng)常可以直接從互聯(lián)網(wǎng)下載。有時(shí)也被作為營(yíng)銷手段。例如,甲產(chǎn)品或許會(huì)免費(fèi)提供構(gòu)件SDK以鼓勵(lì)人們使用它,從而會(huì)吸引更多人由于能免費(fèi)為其編程而購(gòu)買其構(gòu)件。 SDK 可能附帶了使其不能在不兼容的許可證下開發(fā)軟件的許可證。例如一個(gè)專有的 SDK 可能與自由軟件開發(fā)抵觸。而GPL能使 SDK 與專有軟件開發(fā)近乎不兼容。LGPL下的SDK則沒有這個(gè)問題。
相關(guān)背景[ ]
API[ ]
API(Application Programming Interface)其實(shí)就是操作系統(tǒng)留給應(yīng)用程序的一個(gè)調(diào)用接口,應(yīng)用程序通過調(diào)用操作系統(tǒng)的 API 而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動(dòng)作)。其實(shí)早在 DOS 時(shí)代就有 API 的概念,只不過那個(gè)時(shí)候的 API 是以中斷調(diào)用的形式(INT 21h)提供的,在 DOS 下跑的應(yīng)用程序都直接或間接的通過中斷調(diào)用來(lái)使用操作系統(tǒng)功能,比如將 AH 置為 30h 后調(diào)用 INT 21h 就可以得到 DOS 操作系統(tǒng)的版本號(hào)。而在 Windows 中,系統(tǒng) API 是以函數(shù)調(diào)用的方式提供的。同樣是取得操作系統(tǒng)的版本號(hào),在 Windows 中你所要做的就是調(diào)用 GetVersionEx() 函數(shù)。
可以這么說,DOS API 是“Thinking in 匯編語(yǔ)言”的,而 Windows API 則是“Thinking in 高級(jí)語(yǔ)言”的。
DOS API 是系統(tǒng)程序的一部分,他們與系統(tǒng)一同被載入內(nèi)存并且可以通過中斷矢量表找到他們的入口,那么 Windows API 呢?要說明白這個(gè)問題就不得不引入我們下面要介紹得這個(gè)概念——DLL。
DLL[ ]
DLL,即 Dynamic Link Library(動(dòng)態(tài)鏈接庫(kù))。在windows環(huán)境下含有大量 .dll 格式的文件,這些文件就是動(dòng)態(tài)鏈接庫(kù)文件,其實(shí)也是一種可執(zhí)行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接執(zhí)行,他們通常由 .exe 在執(zhí)行時(shí)裝入,內(nèi)含有一些資源以及可執(zhí)行代碼等。
其實(shí) Windows 的三大模塊就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函數(shù)的執(zhí)行代碼。為了使用 DLL 中的 API 函數(shù), 必須要有 API 函數(shù)的聲明(.H)和其導(dǎo)入庫(kù)(.LIB),導(dǎo)入庫(kù)可以先這樣理解:導(dǎo)入庫(kù)是為了在 DLL 中找到 API 的入口點(diǎn)而使用的。
為了使用 API 函數(shù),我們就要有跟 API 所對(duì)應(yīng)的 .H 和 .LIB 文件,而 SDK 正是提供了一整套開發(fā) Windows 應(yīng)用程序所需的相關(guān)文件、范例和工具的“工具包”。
SDK 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來(lái)編寫 Windows 應(yīng)用程序的開發(fā)方式叫做“SDK 編程”。而 API 和 SDK 是開發(fā) Windows 應(yīng)用程序所必需的東西,所以其它編程框架和類庫(kù)都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起“SDK 編程”來(lái)有著更高的抽象度,但這絲毫不妨礙它們?cè)谛枰臅r(shí)候隨時(shí)直接調(diào)用 API 函數(shù)