本文淺析了vc中SDK與MFC的區別,對于初學VC的朋友有一定的學習借鑒價值,詳情如下:
SDK 是指Software Development Kit 軟件開發包
MFC 是指Microsoft Foundation Classes 微軟函數類庫
因此MFC是對API函數的封裝,也算是vc里的SDK
用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++。