相關背景
API
API(Application Programming Interface,套用編程接口)其實就是作業系統留給應用程式的一個調用接口,應用程式通過調用作業系統的 API而使作業系統去執行應用程式的命令(動作)。其實早在DOS時代就有 API 的概念,只不過那個時候的 API 是以中斷調用的形式(INT 21h)提供的,在 DOS下跑的應用程式都直接或間接的通過中斷調用來使用作業系統功能,比如將 AH置為 30h後調用INT 21h就可以得到DOS 作業系統的版本號。而在 Windows 中,系統 API 是以函式調用的方式提供的。同樣是取得作業系統的版本號,在 Windows 中你所要做的就是調用 GetVersionEx() 函式。
可以這么說,DOSAPI 是 “Thinking in彙編語言” 的,而 Windows API 則是 “Thinking in 高級語言” 的。
DOSAPI是系統程式的一部分,他們與系統一同被載入記憶體並且可以通過中斷矢量表找到他們的入口,那么 什麼是Windows API 呢?要說明白這個問題就不得不引入我們下面要介紹得這個概念——DLL。
DLL
DLL,即 Dynamic Link Library(動態程式庫)。在 Windows 環境下含有大量 .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 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程式的開發方式叫做 “SDK編程”。而API和 SDK 是開發Windows應用程式所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如VCL 和MFC,雖然他們比起 “SDK 編程” 來有著更高的抽象度,但這絲毫不妨礙我們在需要的時候隨時直接調用 API 函式 。
與MOD的關係
遊戲中就有很多SDK工具包,可以開發MOD和資料片。
2017年-Vungle 推出 SDK V5,增加10 個新的互動式套用內視頻模板進一步增強消費者的廣告體驗 -新的模版將會植入Vungle最新的廣告埋點技術。