windowssdk編程
『壹』 SDK編程是指什麼樣的編程方法
其實很簡單,SDK 就是 Software Development Kit 的縮寫,中文意思就是「軟體開發工具包」。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做「SDK」。具體到我們這個系列教程,我們後面只討論廣義 SDK 的一個子集——即開發 Windows 平台下的應用程序所使用的 SDK。
呵呵,其實上面只是說了一個 SDK 大概的概念而已,理解什麼是 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 函數。
『貳』 win32 sdk編程,error LNK2001: unresolved external symbol "int __stdcall dialogPro
unresolved
external
symbol
這個錯誤的意思是有一個函數,系統沒有找到它的實現代碼。你檢查一下是否已經將含有該函數實現代碼的文件包含進項目。
『叄』 windos編程中,SDK是一個軟體開發包,開發包是什麼意思
開發包是廠家為windows編程方便提供的軟體編程環境,全稱是Software
Development
Kit,其實就是工具集,一般包括庫函數、調用說明、示例工程等。
使用SDK的好處在於,你可以找一個與你任務功能相近的工程修改一下完成。許多現成的、復雜的功能廠家已經為你編寫了函數或者搭好了框架,你不用從頭再折騰了。
『肆』 SDK程序是什麼
是軟體開發工具包。
一般是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、操作系統等創建應用軟體的開發工具的集合。
軟體工程師通常從目標系統開發者那裡獲得軟體開發包。為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。SDK經常可以直接從互聯網下載。有時也被作為營銷手段。例如:甲產品或許會免費提供構件SDK以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
(4)windowssdk編程擴展閱讀
sdk背景
Android是谷歌(Google)公司推出的手機開發平台。與iPhone相似,Android採用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等.
比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平台。
Android平台提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用於保存軟體配置參數。使用SharedPreferences保存數據,其背後是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs目錄下。
SharedPreferences,它是Android提供用來存儲一些簡單的配置信息的一種機制,例如,一些默認歡迎語、登錄的用戶名和密碼等。
相關特性
其最震撼人心之處在於Android手機系統的開放性和服務免費。Android是一個對第三方軟體完全開放的平台,開發者在為其開發程序時擁有更大的自由度,突破了iPhone等只能添加為數不多的固定軟體的枷鎖;
同時與Windows Mobile、Symbian等廠商不同,Android操作系統免費向開發人員提供,這樣可節省近三成成本。
『伍』 sdk是什麼意思
SDK一般指軟體開發工具包。軟體開發工具包一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體時的開發工具的集合。
軟體開發工具包是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、操作系統等創建應用軟體的開發工具的集合,一般而言SDK即開發Windows平台下的應用程序所使用的SDK。
它可以簡單的為某個程序設計語言提供應用程序介面API的一些文件,但也可能包括能與某種嵌入式系統通訊的復雜的硬體。一般的工具包括用於調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。
(5)windowssdk編程擴展閱讀
SDK包含了使用API的必需資料,所以也常把僅使用API來編寫Windows應用程序的開發方式叫「SDK編程」。而API和SDK是開發Windows應用程序所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如VCL和MFC,雖然比起「SDK 編程」來有著更高的抽象度,但這絲毫不妨礙在需要的時候隨時直接調用API函數 。
為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。軟體工程師通常從目標系統開發者那裡獲得軟體開發包,也可以直接從互聯網下載,有時也被作為營銷手段。
例如,營銷公司會免費提供構建SDK 以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
SDK可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如產品供應商提供一個專有的SDK可能與自由軟體開發抵觸。GPL能使 SDK與專有軟體開發近乎不兼容。LGPL下的SDK則沒有這個問題。
『陸』 Windows SDK 是什麼
微軟每推出一個重要的windows版本,一般都會同時推出一個SDK(Software Development Kit)。SDK包含了開發該windows版本所需的windows函數和常數定義、API函數說明文檔、相關工具和示例。SDK一般使用C語言,但不包括編譯器。高版本VC++包括了SDK所有的頭文件、幫助、示例和工具,不需要再安裝SDK,低版本如VC++5.0則需要安裝SDK。從windows 98開始,windows SDK叫Platform SDK(http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en),包含最新的windows API函數的有關聲明、例子。
用VC編寫windows程序有兩種方式:windows c方式(SDK)和C++方式(對SDK函數進行包裝,如VC中的MFC、BCB中的VCL)。SDK編程就是直接用windows API進行編程。API由上千個API函數組成(win95中有兩千多個),而MFC是API的封裝,結合面向對象的繼承、多態組成一個個類,共有一百多個類組成。
SDK是Software Development Kit的縮寫,中文意思是「軟體開發工具包」。這是一個覆蓋面相當廣泛的名詞,可以這么說:輔助開發某一類軟體的相關文檔、範例和工具的集合都可以叫做「SDK」。 開發 Windows 平台下的應用程序所使用的 SDK只是廣義 SDK 的一個子集。
上面只是說了一個 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 是系統程序的一部分,他們與系統一同被載入內存並且可以通過中斷矢量表找到他們的入口。
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 包含了使用 API 的必需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程序的開發方式叫做「SDK 編程」。而 API 和 SDK 是開發 Windows 應用程序所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如 VCL 和 MFC,雖然他們比起「SDK 編程」來有著更高的抽象度,但這絲毫不妨礙它們在需要的時候隨時直接調用 API 函數。
時下學計算機的大多想學編程,且大部分都是在Windows下工作的,而目前學得最熱門的是VC,大多數人一開始就開始學習VC,VC是以C++為語言基礎的開發工具,而C++是C語言的擴充,故要學好VC最好是先學好C和C++。
用VC編寫Windows程序有兩種:1. Windows c方式(SDK),2. C++方式:即對SDK函數進行包裝,如VC的MFC,BCB的VCL等。SDK編程就是直接調用Windows的API進行編程,平時人們常說"用SDK寫程序"就是指用Windows的API函數來寫程序,API由上千個API函數組成(Win95的API有兩千多個)。而MFC是API的封閉,結合面向對象程序設計的繼承性和多態性組成一個個的"類",共由一百多個類組成。盡管MFC比SDK方便,但要深入VC,直接去學MFC卻是不明智的選擇。只有在熟悉了MFC的運行機制的情況下,才有可能深入下去。所以學VC最好是先學用SDK編寫程序,在此期間掌握Windows操作系統的工作原理和各API函數的應用,然後再深入MFC。
編程環境
我們仍然用VC6的IDE(集成開發環境)來編寫SDK程序,啟動VC6後選擇File菜單的New...選項,在出現的New對話框的Projects標簽內選擇Win32 Application,然後在Projects Name指定項目的名字,在Location中指定路徑後按OK按鈕,在出現的對話框中,如果你想要用C語言來寫程序可以選擇An emtpy project,如果你想創建一個帶有WinMain入口函數和普通參數的設定的項目,可以選擇A simple Win32 application,如果您想創建一個簡單典型的「Hello World!」Win32SDK application應用程序,可以選擇A typical "Hello World!" application。確定項目類型後按Finish完成。
在VC6環境下,你依然可以使用資源編輯器和ClassWizar等工具完成程序的編寫。用SDK編寫程序關鍵是能夠了解程序的來龍去脈。如果不了解,當然那樣效率會很低,不比VB、PB那麼快,任何東西都是有得有失,如你熟悉用SDK寫程序後,對MFC會比較容易上手的,關鍵要熟悉C++的三大特性
『柒』 winsdk編程 窗口自動關閉
把return (0)去掉
把default也去掉
把return(DefWindowProc(hWnd,message,wParam,lParam));
寫在switch外面
把WM_PAINT和WM_DESTROY的break都改成return 0
還有,樓主,你這窗體關閉不了
『捌』 sdk跟api的區別是什麼
1、組成不同:
sdk軟體開發工具包括廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合。API(應用程序介面)是一些預先定義的函數,或指軟體系統不同組成部分銜接的約定。
2、用途不同:
api目的是提供應用程序與開發人員基於某軟體或硬體得以訪問一組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。軟體開發工具包一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體時的開發工具。
3、內容不同:
為了使用API函數,就要有跟API所對應的.h和.lib文件,而SDK正是提供了一整套開發Windows應用程序所需的相關文件、範例和工具的「工具包」。SDK包含了使用API的必需資料,所以也常把僅使用API來編寫Windows應用程序的開發方式叫做「SDK編程」。
更多關於sdk跟api的區別是什麼,進入:https://m.abcgonglue.com/ask/5ce1e21615839007.html?zd查看更多內容
『玖』 sdk是什麼意思
sdk意思是軟體開發工具包,一般是一些軟體工程師為特定的軟體、軟體框架、硬體平台、操作系統等建立應用軟體時的開發工具的集合。軟體開發工具包括廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合。
sdk一般而言即開發Windows平台下的應用程序所使用的 sdk。它以簡單的為某個程序設計語言提供應用程序介面API的一些文件,但也可能包括能與某種嵌入式系統通訊的復雜的硬體。sdk還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。
sdk許多是免費提供的。為了鼓勵開發者使用其系統或者語言,許多 sdk是免費提供的。軟體工程師通常從目標系統開發者那裡獲得軟體開發包,也可以直接從互聯網下載,有時也被作為營銷手段。例如,營銷公司會免費提供構建SDK從而會吸引更多人由於能免費為其編程而購買其構件。
(9)windowssdk編程擴展閱讀:
sdk為編程語言的API提供了一些文件。 sdk提供的文件可以進入操作系統留給應用程序的調用介面。應用程序通過sdk提供文件來調用操作系統的API,以使操作系統能夠執行應用程序的命令。通過從這些API文件運行API應用程序,可以直接或間接輕松調用操作系統內部程序。
sdk軟體開發工具包通常包含基本參考的支持文檔。像.dll格式的文件,這些文件不能直接執行,裡麵包含一些資源和可執行代碼等,其中也包含API函數的執行代碼。這些文件提供可作為示例代碼,也可提供支持技術說明解釋。
sdk作為軟體開發工具包,包含了使用 API 的必需資料。人們將僅用API編程的方式編寫Windows應用程序稱為「sdk編程」。 sdk是開發Windows應用程序的必備工具,因此其他編程框架和庫都是基於它們構建的,例如VCL和MFC。