本文淺析了vc中SDK與MFC的區(qū)別,對于初學(xué)VC的朋友有一定的學(xué)習(xí)借鑒價(jià)值,詳情如下:
SDK 是指Software Development Kit 軟件開發(fā)包
MFC 是指Microsoft Foundation Classes 微軟函數(shù)類庫
因此MFC是對API函數(shù)的封裝,也算是vc里的SDK
用VC編寫Windows程序有兩種:1. Windwos c方式(SDK),2.C++方式:即對SDK函數(shù)進(jìn)行包裝,如VC的MFC,BCB的OWL等。
SDK編程就是直接調(diào)用Windows的API進(jìn)行編程,平時(shí)人們常說"用SDK寫程序"就是指用Windows的API函數(shù)來寫程序,API由上千個(gè)API函數(shù)組成(Win95的API就有兩千多個(gè))。而MFC是API的封閉,結(jié)合面向?qū)ο蟪绦蛟O(shè)計(jì)的繼承性和多態(tài)性組成一個(gè)個(gè)的"類",共由一百多個(gè)類組成。
盡管MFC比SDK方便,但要深入VC,直接去學(xué)MFC卻是不明智的選擇。只有在熟悉了MFC的運(yùn)行機(jī)制的情況下,才有可能深入下去。所以學(xué)VC最好是先學(xué)用SDK編寫程序,在此期間深入掌握Windows操作系統(tǒng)的工作原理和各API函數(shù)的應(yīng)用,然后再深入MFC。
SDK是基于C語言的,而MFC是基于C++的,這是最根本的區(qū)別。MFC主要封裝的是界面、文件、WinInet和線程等函數(shù)。MFC除了封裝API,最重要的是它的體系結(jié)構(gòu),它所使用的Doc/View結(jié)構(gòu)是SDK中沒有的,這種架構(gòu)是比較特殊的。盡管Doc/View結(jié)構(gòu)不是微軟的發(fā)明,但它是MFC的特色。微軟開發(fā)Windows時(shí)使用的是C語言,所以最初設(shè)計(jì)SDK時(shí)并沒有考慮C++。