SDK和DDK是什嗎?

來源:互聯網
上載者:User

  關於這兩個概念,每次我看見都會一絲迷糊,我這樣不寫程式的人,不常用它們,但是記下來吧,免得下次又google:

SDK

  SDK,Software Development Kit 的縮寫,中文意思“軟體開發套件”,通用點理解:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做“SDK”。那麼在編程開發中具體指什麼呢?這裡涉及到API和動態連結程式庫的概念。

  API,Application Programming Interface,是作業系統提供給應用程式的一個調用介面,應用程式通過叫用作業系統的 API 而使作業系統去執行應用程式的命令,在 Windows 中,系統 API 是以函數調用的方式提供的。比如取得作業系統的版本號碼,要做的就是調用 GetVersionEx() 函數,不用具體關注這個函數如何?。那麼如何調用這些API,這裡又涉及到動態連結程式庫的概念。

  DLL, 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 應用程式所需的相關檔案、範例和工具的“工具包”。

 

DDK/WDK

  DDK,Device Development Kit的縮寫,裝置開發套件的意思,vista之後已經升級更名為WDK(Windows Driver Kit),與SDK用意一致,只不過wdk是針對核心驅動程式的開發,而sdk是針對上層應用程式的開發。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.