MFC與SDK的不同

2021-05-09 12:24:05 字數 1313 閱讀 5020

先來看一下,什麼是mfc,什麼是sdk吧,

sdk   ---software   development   kit (軟體開發包) 

mfc   ---microsoft   foundations   classes (微軟基礎類庫)

mfc不只是乙個功能單純的介面開發系統,它提供的類絕大部分用來進行介面開發,關聯乙個視窗的動作,但它提供的類中有好多類不與乙個視窗關聯,即類的作用不是乙個介面類,不實現對乙個視窗物件的控制(如建立,銷毀),而是一些在windos(用mfc編寫的程式絕大部分都在windos中執行)中實現內部處理的類。

而sdk呢?泛泛的說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做「sdk」。這裡主要討論一下windows sdk,微軟每推出乙個重要的windows版本,一般都會同時推出乙個sdk(software development kit)。sdk包含了開發該windows版本所需的windows函式和常數定義、api函式說明文件、相關工具和示例。sdk一般使用c語言,但不包括編譯器。高版本vc++包括了sdk所有的標頭檔案、幫助、示例和工具,不需要再安裝sdk,低版本如vc++5.0則需要安裝sdk。

用vc編寫windows程式有兩種:1. windwos 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。

接下來,說說兩者的區別與聯絡。sdk是基於c語言的,而mfc是基於c++的,這是最根本的區別。mfc主要封裝的是介面、檔案、wininet和執行緒等函式。mfc除了封裝api,最重要的是它的體系結構,它所使用的doc/view結構是sdk中沒有的,這種架構是比較特殊的。儘管doc/view結構不是微軟的發明,但它是mfc的特色。微軟開發windows時使用的是c語言,所以最初設計sdk時並沒有考慮c++。

sdk比較低層用c開發!能控制細節!sdk是採用較一般的c語言,但很靈活,是面向過程程式設計。 

mfc是微軟的基本類庫,對很多東西已經進行了封裝,使用簡單、方便。mfc   把sdk的功能封裝到了類,是程式設計大大簡化!用c++開發!一般編寫簡單的程式,使用mfc應該能達到要求。但如果編寫功能強大的程式使用sdk較多,尤其是底層的開發。

MFC與SDK的不同

size medium sdk software development kit 軟體開發包 mfc microsoft foundations classes 微軟基礎類庫 mfc不只是乙個功能單純的介面開發系統,它提供的類絕大部分用來進行介面開發,關聯乙個視窗的動作,但它提供的類中有好多類不與乙...

MFC程式設計與SDK程式設計

新增的指令碼是指框架 mfc microsoft foundation class 微軟基礎類庫 是微軟為了簡化程式設計師的開發工作所開發的一套 c 類的集合,c環境是面向過程的不支援mfc,mfc只封裝在c 裡,mfc無法在c環境中使用 是一套物件導向的函式庫,mfc 採用物件導向設計,將大部分的...

SDK和MFC的區別

sdk 就是software development kit 軟體開發包 mfc 就是microsoft foundation classes 微軟函式類庫 mfc是對api函式的封裝,也算是vc裡的sdk 用vc編寫windows程式有兩種 1.windwos c方式 sdk 2.c 方式 即對s...