全球专业中文经管百科,由121,994位网友共同编写而成,共计436,047个条目

軟體開發工具包

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

軟體開發工具包(Software Development Kit,SDK)

目錄

什麼是軟體開發工具包

  軟體開發工具包一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平臺、操作系統等建立應用軟體的開發工具的集合。

  軟體開發工具廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合。

  軟體開發工具包,只是簡單的為某個程式設計語言提供應用程式介面的一些文件,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。一般的工具包括用於調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。

  軟體工程師通常從目標系統開發者那裡獲得軟體開發包。為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。SDK經常可以直接從互聯網下載。有時也被作為營銷手段。例如,甲產品或許會免費提供構件SDK以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。

  SDK可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如產品供應商提供一個專有的SDK可能與自由軟體開發抵觸。GPL能使SDK與專有軟體開發近乎不兼容。LGPL下的SDK則沒有這個問題。

軟體開發工具包的相關概念[1]

  為了認識sdk我們先來瞭解幾個概念:API動態鏈接庫、導入庫等等,“API”,也就是Application Programming Interface,其實就是操作系統留給應用程式的一個調用介面,應用程式通過調用操作系統的API而使操作系統去執行應用程式的命令。DLL即DynamicLinkLibrary(動態鏈接庫)。我們經常會看到一些.dll格式的文件,這些文件就是動態鏈接庫文件.其實也是一種可執行文件格式。跟.exe文件不同的是。.dll文件不能直接執行,他們通常由.exe在執行時裝入,內含有一些資源以及可執行代碼等。為了使用DLL中的APl函數.我們必須要有API函數的聲明(.H)和其導入庫(.LIB),函數的原型聲明頭文件是對函數進行函數聲明的文件,導入庫是為了在DLL中找到API的入口點而使用的。

SpeechSDK

  介紹了該系統的設計目標及功能結構,結合實際項目背景,提出瞭解決方案並以分模塊的形式探討了系統的功能,介紹了系統各部分的特點。經過測試基於SpeechSDK。

  為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。軟體工程師通常從目標系統開發者那裡獲得軟體開發包,也可以直接從互聯網下載,有時也被作為營銷手段。例如,營銷公司會免費提供構建SDK以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。

  SDK可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如產品供應商提供一個專有的SDK可能與自由軟體開發抵觸。GPL能使SDK與專有軟體開發近乎不兼容。LGPL下的SDK則沒有這個問題。

SDK與MFC編碼時的區別[2]

  用VC編寫Windows程式有兩種:一是WindwosC方式(SDK),二是c++方式:即對SDK函數進行包裝,如VC的MFC,BCB的OWL等。SDK編程就是直接調用Windows的API進行編程,平時人們常說“用SDK寫程式”就是指用Windows的API函數來寫程式,API由成千上萬個API函數組成。而MFC是API的封裝,結合面向對象程式設計的繼承性和多態性組成一個個的“類”,共由100多個類組成。在實際使用中,MFC比SDK方便。

  SDK與MFC編碼時的區別為,SDK編碼時包括程式框架(比如消息處理器、主視窗消息回調函數等)在內的代碼全為自己編製,但所利用的API等介面全來自SDK的頭文件和庫文件。有一種說法說“SDK只是MFC的一個真子集”是錯誤的,因為有部分API函數MFC沒有封裝,不過這些函數你在MFC程式中都可以使用。MFC主要封裝的是界面、文件,Winlnet和線程等函數。SDK是基於c語言的,而MFC是基於c++的,這是最根本的區別。MFC除了封裝API,最重要的是它的體繫結構,它所使用的Doc/View結構是SDK中沒有的,這種架構是比較特殊的。儘管Doc/View結構不是微軟的發明,但它是MFC的特色。MFC最初是由微軟設計,專供VC++用的,但是C++Builder也支持,C++Builder自己也有一個類庫,叫VCL。以前的BorIand C++使用OWL類庫。微軟開發Windows時使用的是c語言,所以最初設計SDK時並沒有考慮c++。

參考文獻

  1. 賈棟;張建軍.利用sdk的軟體設計方法[J].機械管理開發.2007,6
  2. 李永紅,程耀瑜等.基於SDK的軟體設計方法[J].科技情報開發與經濟.2006,6
本條目對我有幫助2
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Mis铭,刘维燎,苏青荇,赵先生.

評論(共0條)

提示:評論內容為網友針對條目"軟體開發工具包"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号