VC中SDK與MFC的區(qū)別淺析
本文淺析了vc中SDK與MFC的區(qū)別,對(duì)于初學(xué)VC的朋友有一定的學(xué)習(xí)借鑒價(jià)值,詳情如下:
SDK 是指Software Development Kit 軟件開(kāi)發(fā)包
MFC 是指Microsoft Foundation Classes 微軟函數(shù)類(lèi)庫(kù)
因此MFC是對(duì)API函數(shù)的封裝,也算是vc里的SDK
用VC編寫(xiě)Windows程序有兩種:1. Windwos c方式(SDK),2.C++方式:即對(duì)SDK函數(shù)進(jìn)行包裝,如VC的MFC,BCB的OWL等。
SDK編程就是直接調(diào)用Windows的API進(jìn)行編程,平時(shí)人們常說(shuō)"用SDK寫(xiě)程序"就是指用Windows的API函數(shù)來(lái)寫(xiě)程序,API由上千個(gè)API函數(shù)組成(Win95的API就有兩千多個(gè))。而MFC是API的封閉,結(jié)合面向?qū)ο蟪绦蛟O(shè)計(jì)的繼承性和多態(tài)性組成一個(gè)個(gè)的"類(lèi)",共由一百多個(gè)類(lèi)組成。
盡管MFC比SDK方便,但要深入VC,直接去學(xué)MFC卻是不明智的選擇。只有在熟悉了MFC的運(yùn)行機(jī)制的情況下,才有可能深入下去。所以學(xué)VC最好是先學(xué)用SDK編寫(xiě)程序,在此期間深入掌握Windows操作系統(tǒng)的工作原理和各API函數(shù)的應(yīng)用,然后再深入MFC。
SDK是基于C語(yǔ)言的,而MFC是基于C++的,這是最根本的區(qū)別。MFC主要封裝的是界面、文件、WinInet和線程等函數(shù)。MFC除了封裝API,最重要的是它的體系結(jié)構(gòu),它所使用的Doc/View結(jié)構(gòu)是SDK中沒(méi)有的,這種架構(gòu)是比較特殊的。盡管Doc/View結(jié)構(gòu)不是微軟的發(fā)明,但它是MFC的特色。微軟開(kāi)發(fā)Windows時(shí)使用的是C語(yǔ)言,所以最初設(shè)計(jì)SDK時(shí)并沒(méi)有考慮C++。
相關(guān)文章
C++通過(guò)文件指針獲取文件大小的方法實(shí)現(xiàn)
本文主要介紹了C++通過(guò)文件指針獲取文件大小的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
基于QT5實(shí)現(xiàn)一個(gè)時(shí)鐘桌面
這篇文章主要介紹了利用QT5實(shí)現(xiàn)的一個(gè)時(shí)鐘桌面,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下2022-01-01
C++中一維數(shù)組與指針的關(guān)系詳細(xì)總結(jié)
以下是對(duì)C++中一維數(shù)組與指針的關(guān)系進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09
C++實(shí)現(xiàn)LeetCode(53.最大子數(shù)組)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(53.最大子數(shù)組),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
詳解C語(yǔ)言中的wait()函數(shù)和waitpid()函數(shù)
這篇文章主要介紹了C語(yǔ)言中的wait()函數(shù)和waitpid()函數(shù),注意其在中斷進(jìn)程方面用法的不同,需要的朋友可以參考下2015-08-08

