SDK/API

SDK是一系列檔案的組合,包括lib、dll、.h、文檔、示例等等;API是對程式而言的,提供用戶編程時的接口,即一系列模組化的類和函式。可以認為API是包含在SDK中的。

基本介紹

  • 中文名:軟體開放工具箱
  • 外文名:SDK/API
  • 平台:Windows平台
  • 系統:Windows
簡介,概念,

簡介

Windows API:Windows application programming interface(WIndows應用程式接口
Platform SDK:Platform Software Development Kit(平台軟體開發工具包

概念

Windows安裝完,系統就有了一套簡單的SDK,包含了一套完整的基礎Windows API,如果安裝VC或下載新的SDK後,就可以使用更加豐富的Windows API了。
****************************************
SDK就是 Software Development Kit 的縮寫,中文意思就是“軟體開發工具包”。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做“SDK”。具體到我們這個系列教程,我們後面只討論廣義 SDK 的一個子集——即開發 Windows 平台下的應用程式所使用的 SDK。
為了更清楚的解釋什麼是 SDK, 我們將引入API動態程式庫導入庫等等概念
首先要接觸的是“API”,也就是 Application Programming Interface,其實就是作業系統留給應用程式的一個調用接口,應用程式通過調用作業系統的 API 而使作業系統去執行應用程式的命令(動作)。其實早在 DOS 時代就有 API 的概念,只不過那個時候的 API 是以中斷調用的形式(INT 21h)提供的,在 DOS 下跑的應用程式都直接或間接的通過中斷調用來使用作業系統功能,比如將 AH 置為 30h 後調用 INT 21h 就可以得到 DOS 作業系統的版本號。而在Windows中,系統 API 是以函式調用的方式提供的。同樣是取得作業系統的版本號,在 Windows 中你所要做的就是調用 GetVersionEx() 函式。可以這么說,DOS API 是“Thinking in 彙編語言”的,而 Windows API 則是“Thinking in 高級語言”的。DOS API 是系統程式的一部分,他們與系統一同被載入記憶體並且可以通過中斷矢量表找到他們的入口,那么 Windows API 呢?要說明白這個問題就不得不引入我們下面要介紹得這個概念——DLL。
DLL(又是一個縮寫,感覺 IT 這個行業里三字頭縮寫特別多),即 Dynamic Link Library(動態程式庫)。我們經常會看到一些 .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 的含義。
由於 SDK 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程式的開發方式叫做“SDK編程”。而 API 和 SDK 是開發 Windows 應用程式所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起“SDK 編程”來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接調用 API 函式。

相關詞條

熱門詞條

聯絡我們