sdk是什麼??幹什麼用,SDK是什麼??幹什麼用?

2021-12-22 08:32:25 字數 4823 閱讀 8903

1樓:張老師情感分析

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

擴充套件資料sdk的背景

其實早在dos時代就有 api 的概念,只不過那個時候的 api 是以中斷呼叫的形式(int 21h)提供的,在 dos下跑的應用程式都直接或間接的通過中斷呼叫來使用作業系統功能,比如將 ah置為 30h後呼叫int 21h就可以得到dos 作業系統的版本號。

而在 windows 中,系統 api 是以函式呼叫的方式提供的。同樣是取得作業系統的版本號,在 windows 中你所要做的就是呼叫 getversionex() 函式。

2樓:匿名使用者

首先,雖然你說看過了一些sdk的資料,但我覺得你還是沒有真正理解sdk是什麼所以才有這樣的問題。一般我的理解是,sdk是一些公司針對某一項技術為軟體開發人員製作的一套輔助開發或者減少開發週期的工具。比如說,微軟除了釋出directx的runtime(dx的執行時刻庫,一般需要dx支援的遊戲執行時只要這個就夠了)之外,還會發布directx的sdk,那麼開發遊戲的人或者其他程式設計的人,就可以利用directx的sdk更好的開發使用directx技術的遊戲或軟體,一般sdk中會對一些技術的內部特性做一些更深入的說明,並且提供一些新的api供程式設計人員呼叫。

比如說如果你認真閱讀了directx的sdk中的文件,你就知道怎麼開發directx的程式,並且知道directx技術提供了哪些api可供你呼叫。至於在程式設計中,在新建工程什麼的,理論上應該和一般的程式設計沒有什麼兩樣,或者說至少在新建工程這方面上沒有什麼特別的,關鍵的地方是在程式內部使用了sdk提供給你的一些方便的功能,或者有時你需要安裝這些sdk才能在你的程式中使用這些功能。所以你的問題其實就在於對sdk這個概念還不夠了解。

比如說,如果你想用directx技術寫一個應用程式,那麼你就要建一個應用程式的工程,如果你想應用dirctx寫一個自己的dll,以便在你寫的其他程式中呼叫它,那麼你就應該新建一個dll的工程。總之,要新建什麼樣的工程在於你程式設計的目的和你使用的程式語言環境的規定,而不在於你是否使用某個sdk

3樓:我是曼珍一

清理為什麼要sdk?

4樓:匿名使用者

mood回答的夠規範了,呵呵,沒必要再答了吧?哈哈,不過這東西是mood寫的不?佩服。。。

5樓:飛喵某

sdk就是軟體開發工具包(software development kit, sdk),一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體的開發工具的集合。

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

有時也被作為營銷手段。例如,甲產品或許會免費提供構件sdk以鼓勵人們使用它,從而會吸引更多人由於能免費為其程式設計而購買其構件。

sdk可能附帶了使其不能在不相容的許可證下開發軟體的許可證。例如產品**商提供一個專有的sdk可能與自由軟體開發牴觸。gpl能使sdk與專有軟體開發近乎不相容。

lgpl下的sdk則沒有這個問題。

擴充套件資料:1、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 是系統程式的一部分,他們與系統一同被載入記憶體並且可以通過中斷向量表找到他們的入口。

2、dll。

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

到此為止,才真正的解釋清楚了 sdk 的含義。

由於 sdk 包含了使用 api 的必需資料,所以人們也常把僅使用 api 來編寫 windows 應用程式的開發方式叫做“sdk 程式設計”。

而 api 和 sdk 是開發 windows 應用程式所必需的東西,所以其它程式設計框架和類庫都是建立在它們之上的,比如 vcl 和 mfc,雖然他們比起“sdk 程式設計”來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接呼叫 api 函式 。

sdk是什麼?什麼是sdk

6樓:行走的山脈

sdk的外語全稱:software development kit,中文為:軟體開發工具包,一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體時的開發工具的集合。

通俗一點的理解,是指由第三方服務商提供的實現軟體產品某項功能的工具包。一般以集合kpi和文件、範例、工具的形式出現

隨著國內網際網路環境的大發展,大部分的sdk都是免費的 但已經有一部分功能性sdk已經被當做一個產品來運營,這依賴於人們開發網際網路產品理念的變化和雲端計算技術的發展。開發者不再需要對產品每個功能進行開發,選擇合適、穩定的sdk服務並花費很少的精力即可在產品中整合某項功能。

擴充套件資料

一般而言sdk即開發 windows 平臺下的應用程式所使用的 sdk。它可以簡單的為某個程式設計語言提**用程式介面 api 的一些檔案,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。

一般的工具包括用於除錯和其他用途的實用工具。sdk 還經常包括示例**、支援性的技術註解或者其他的為基本參考資料澄清疑點的支援文件。

sdk 可能附帶了使其不能在不相容的許可證下開發軟體的許可證。例如產品**商提供一個專有的 sdk 可能與自由軟體開發牴觸。gpl 能使 sdk 與專有軟體開發近乎不相容。

lgpl 下的 sdk 則沒有這個問題。

7樓:在看孤獨

sdk 就是 software development kit 的縮寫,中文意思就是“軟體開發工具包”。

這是一個覆蓋面相當廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做“sdk”。具體到我們這個系列教程,我們後面只討論廣義 sdk 的一個子集——即開發 windows 平臺下的應用程式所使用的 sdk。

軟體開發工具包,只是簡單的為某個程式設計語言提**用程式介面的一些檔案,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。一般的工具包括用於除錯和其他用途的實用工具。

sdk還經常包括示例**、支援性的技術註解或者其他的為基本參考資料澄清疑點的支援文件。軟體工程師通常從目標系統開發者那裡獲得軟體開發包。

8樓:

首先,雖然你說看過了一些sdk的資料,但我覺得你還是沒有真正理解sdk是什麼所以才有這樣的問題。一般我的理解是,sdk是一些公司針對某一項技術為軟體開發人員製作的一套輔助開發或者減少開發週期的工具。比如說,微軟除了釋出directx的runtime(dx的執行時刻庫,一般需要dx支援的遊戲執行時只要這個就夠了)之外,還會發布directx的sdk,那麼開發遊戲的人或者其他程式設計的人,就可以利用directx的sdk更好的開發使用directx技術的遊戲或軟體,一般sdk中會對一些技術的內部特性做一些更深入的說明,並且提供一些新的api供程式設計人員呼叫。

比如說如果你認真閱讀了directx的sdk中的文件,你就知道怎麼開發directx的程式,並且知道directx技術提供了哪些api可供你呼叫。至於在程式設計中,在新建工程什麼的,理論上應該和一般的程式設計沒有什麼兩樣,或者說至少在新建工程這方面上沒有什麼特別的,關鍵的地方是在程式內部使用了sdk提供給你的一些方便的功能,或者有時你需要安裝這些sdk才能在你的程式中使用這些功能。所以你的問題其實就在於對sdk這個概念還不夠了解。

比如說,如果你想用directx技術寫一個應用程式,那麼你就要建一個應用程式的工程,如果你想應用dirctx寫一個自己的dll,以便在你寫的其他程式中呼叫它,那麼你就應該新建一個dll的工程。總之,要新建什麼樣的工程在於你程式設計的目的和你使用的程式語言環境的規定,而不在於你是否使用某個sdk

9樓:匿名使用者

就是一些公司自己研發的功能打包成通用的大家都能用的格式

10樓:匿名使用者

software develop kit

直接翻譯是 軟體開發套件

套件就是一套工具的意思,或者工具包

一般說的sdk就是開發工具了,再加一個開發ide,就搭建起一個開發環境了

比如最近很火的 eclipse + android sdk 的 ide

ide就是整合開發環境的意思

php中是幹什麼用的,php是幹什麼用的??

物件導向中,用於呼叫物件 的屬性或方法 class user user new user user name 訪問物件 user的屬性name user getname 訪問物件 user的方法 php是一門物件導向的程式語言,多用於 建設.跟jsp,等一樣是一種語言.主要作用就是編寫一些程式.比如...

汽車是幹什麼用的?汽車檔位是幹什麼用的

一般指汽車 car 它是由卡爾 本茨發明的 一種現代交通工具,英文原譯為 自動車 在日本也稱 自動車 日本漢字中的汽車則是指我們所說的火車 其他文種也多是 自動車 只有中國例外。世界有著很多車,每個國家的汽車都有著自己的特色,安全性的,速度性的,舒適性的,耐力性的。所以才自己買車時要根據自己的情況來...

ip插座幹什麼用,IP插座幹什麼用的

一 ip54型 插座是指防塵等級為5級 無法完全防止灰塵侵入,但侵入灰塵量不會影響燈具正常運作 防水等級為4級 防止飛濺的水侵入 防止各方向飛濺而來的水侵入的電源插座。二 定義 ip是ingress protection 防護等級 的縮寫,ip等級是針對電氣裝置外殼對異物侵入的防護等級,於國際電工委...