SDK (Software Development Kit,軟體開發包) 軟體開發包通常是一系列API函式,而MFC 是由微軟公司提供的對API封裝後的類庫,因此從這個意義上可以說MFC是SDK的封裝。另外,mfc中封裝了一套訊息處理流程,將sdk中API全部做了封裝,使得開發起來速度加快,而sdk是最底層的函式庫,mfc對它進行了封裝。 用VC編寫Windows程式有兩種:1. Windwos c方式(SDK),2.C++方式:即對SDK函式進行包裝,如VC的MFC,BCB的OWL等。SDK程式設計就是直接呼叫Windows的API進行程式設計,平時人們常說"用SDK寫程式"就是指用Windows的API函式來寫程式,API由上千個API函式組成(Win95的API有兩千多個)。而MFC是API的封閉,結合面向物件程式設計的繼承性和多型性組成一個個的"類",共由一百多個類組成。儘管MFC比SDK方便,但要深入VC,直接去學MFC卻是不明智的選擇。只有在熟悉了MFC的執行機制的情況下,才有可能深入下去。所以學VC最好是先學用SDK編寫程式,在此期間深入掌握Windows作業系統的工作原理和各API函式的應用,然後再深入MFC. SDK是基於C語言的,而MFC是基於C++的,這是最根本的區別。 MFC主要封裝的是介面、檔案、WinInet和執行緒等函式。MFC除了封裝API,最重要的是它的體系結構,它所使用的Doc/View結構是SDK中沒有的,這種架構是比較特殊的。儘管Doc/View結構不是微軟的發明,但它是MFC的特色。微軟開發Windows時使用的是C語言,所以最初設計SDK時並沒有考慮C++。 MFC是微軟的基本類庫,對很多東西已經進行了封裝,因此使用起來簡單、方便。SDK是採用較一般的C語言,但很靈活。 一般編寫簡單的程式,使用MFC應該能達到要求。但如果編寫功能強大的程式,則使用SDK較多,尤其是底層的開發。 SDK就是SoftwareDevelopmentKit的縮寫,中文意思就是“軟體開發工具包”。這是一個覆蓋面相當廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做“SDK”。我們後面只討論廣義SDK的一個子集——即開發Windows平臺下的應用程式所使用的SDK。 首先要接觸的是“API”,也就是ApplicationProgrammingInterface,其實就是作業系統留給應用程式的一個呼叫介面,應用程式透過呼叫作業系統的API而使作業系統去執行應用程式的命令(動作)。其實早在DOS時代就有API的概念,只不過那個時候的API是以中斷呼叫的形式(INT21h)提供的,在DOS下跑的應用程式都直接或間接的透過中斷呼叫來使用作業系統功能,比如將AH置為30h後呼叫INT21h就可以得到DOS作業系統的版本號。而在Windows中,系統API是以函式呼叫的方式提供的。同樣是取得作業系統的版本號,在Windows中你所要做的就是呼叫GetVersionEx()函式。可以說,DOSAPI是“Thinkingin組合語言”的,而WindowsAPI則是“Thinkingin高階語言”的。DOSAPI是系統程式的一部分,他們與系統一同被載入記憶體並且可以透過中斷矢量表找到他們的入口,那麼WindowsAPI呢?要說明白這個問題就不得不引入下面要介紹的這個概念——DLL。 DLL,即DynamicLinkLibrary(動態連結庫)。我們經常會看到一些.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 (Software Development Kit,軟體開發包) 軟體開發包通常是一系列API函式,而MFC 是由微軟公司提供的對API封裝後的類庫,因此從這個意義上可以說MFC是SDK的封裝。另外,mfc中封裝了一套訊息處理流程,將sdk中API全部做了封裝,使得開發起來速度加快,而sdk是最底層的函式庫,mfc對它進行了封裝。 用VC編寫Windows程式有兩種:1. Windwos c方式(SDK),2.C++方式:即對SDK函式進行包裝,如VC的MFC,BCB的OWL等。SDK程式設計就是直接呼叫Windows的API進行程式設計,平時人們常說"用SDK寫程式"就是指用Windows的API函式來寫程式,API由上千個API函式組成(Win95的API有兩千多個)。而MFC是API的封閉,結合面向物件程式設計的繼承性和多型性組成一個個的"類",共由一百多個類組成。儘管MFC比SDK方便,但要深入VC,直接去學MFC卻是不明智的選擇。只有在熟悉了MFC的執行機制的情況下,才有可能深入下去。所以學VC最好是先學用SDK編寫程式,在此期間深入掌握Windows作業系統的工作原理和各API函式的應用,然後再深入MFC. SDK是基於C語言的,而MFC是基於C++的,這是最根本的區別。 MFC主要封裝的是介面、檔案、WinInet和執行緒等函式。MFC除了封裝API,最重要的是它的體系結構,它所使用的Doc/View結構是SDK中沒有的,這種架構是比較特殊的。儘管Doc/View結構不是微軟的發明,但它是MFC的特色。微軟開發Windows時使用的是C語言,所以最初設計SDK時並沒有考慮C++。 MFC是微軟的基本類庫,對很多東西已經進行了封裝,因此使用起來簡單、方便。SDK是採用較一般的C語言,但很靈活。 一般編寫簡單的程式,使用MFC應該能達到要求。但如果編寫功能強大的程式,則使用SDK較多,尤其是底層的開發。 SDK就是SoftwareDevelopmentKit的縮寫,中文意思就是“軟體開發工具包”。這是一個覆蓋面相當廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做“SDK”。我們後面只討論廣義SDK的一個子集——即開發Windows平臺下的應用程式所使用的SDK。 首先要接觸的是“API”,也就是ApplicationProgrammingInterface,其實就是作業系統留給應用程式的一個呼叫介面,應用程式透過呼叫作業系統的API而使作業系統去執行應用程式的命令(動作)。其實早在DOS時代就有API的概念,只不過那個時候的API是以中斷呼叫的形式(INT21h)提供的,在DOS下跑的應用程式都直接或間接的透過中斷呼叫來使用作業系統功能,比如將AH置為30h後呼叫INT21h就可以得到DOS作業系統的版本號。而在Windows中,系統API是以函式呼叫的方式提供的。同樣是取得作業系統的版本號,在Windows中你所要做的就是呼叫GetVersionEx()函式。可以說,DOSAPI是“Thinkingin組合語言”的,而WindowsAPI則是“Thinkingin高階語言”的。DOSAPI是系統程式的一部分,他們與系統一同被載入記憶體並且可以透過中斷矢量表找到他們的入口,那麼WindowsAPI呢?要說明白這個問題就不得不引入下面要介紹的這個概念——DLL。 DLL,即DynamicLinkLibrary(動態連結庫)。我們經常會看到一些.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的含義。