軟件開(kāi)發(fā)方式一共有三種:SDK方式、MFC開(kāi)發(fā)方式、托管環(huán)境的開(kāi)發(fā)都是基于消息的開(kāi)發(fā)
SDK方式
?
原裝api的調(diào)用
SDK方式使用C語(yǔ)言和Windows應(yīng)用程序編程接口(Windows API)來(lái)開(kāi)發(fā)Windows應(yīng)用程序,Windows API里面都是C函數(shù),類(lèi)似于C語(yǔ)言的標(biāo)準(zhǔn)函數(shù)庫(kù),只是Windows API這個(gè)函數(shù)庫(kù)(或稱開(kāi)發(fā)包)用來(lái)開(kāi)發(fā)Windows應(yīng)用程序。微軟通過(guò)Windows軟件開(kāi)發(fā)包(Windows Software Development Kit,SDK)來(lái)提供Windows API。這種方式是早期開(kāi)發(fā)Windows應(yīng)用程序的唯一方式,現(xiàn)在在界面開(kāi)發(fā)中用的不多,但在飛非界面領(lǐng)域,比如多線程、網(wǎng)絡(luò)、圖形圖像等某些對(duì)速度要求較高的場(chǎng)合會(huì)經(jīng)常用到。SDK方式是底層的開(kāi)發(fā)方式,熟悉了SDK方式后,對(duì)理解MFC方式大有裨益。用這種方式開(kāi)發(fā),要求開(kāi)發(fā)者熟悉C語(yǔ)言和Windows環(huán)境。這種方式開(kāi)發(fā)的Windows程序習(xí)慣稱為Win32程序。
用這種方式開(kāi)發(fā)Windows應(yīng)用程序的最大好處是只需熟悉C語(yǔ)言,不必學(xué)習(xí)C++語(yǔ)言,學(xué)會(huì)這種開(kāi)發(fā)方式能對(duì)Windows操作系統(tǒng)底層運(yùn)行機(jī)制有相當(dāng)深入的理解,而且這種方式開(kāi)發(fā)出來(lái)的程序相對(duì)于其他兩種方式運(yùn)行速度更快。下面我們來(lái)看一個(gè)最簡(jiǎn)單的Win32程序。
MFC開(kāi)發(fā)方式
MFC是對(duì)sdk的高度封裝的類(lèi)庫(kù)
MFC是微軟基礎(chǔ)類(lèi)的縮寫(xiě)(Microsoft Foundation Classes),是一個(gè)龐大的類(lèi)庫(kù),可以理解為一種在Windows上開(kāi)發(fā)軟件的架構(gòu),是微軟專(zhuān)為Visual C++定制的。該類(lèi)庫(kù)提供一組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用。
沒(méi)有MFC之前,Windows上用Win32 API進(jìn)行編程,之后MFC出現(xiàn),在一定程度上提高了軟件開(kāi)發(fā)效率,它是對(duì)win32 API的封裝,所以易用性好,不過(guò)性能會(huì)比win32開(kāi)發(fā)低一些,二者各有所長(zhǎng)吧。
?
托管環(huán)境的開(kāi)發(fā)
.net java虛擬機(jī)
在Windows上開(kāi)發(fā)界面程序以前用MFC最合適,能兼顧效率和性能,后來(lái)出了.net的C#,MFC就不是最高效的開(kāi)發(fā)方式了,而且MFC用不好的話,問(wèn)題也挺多的,不過(guò)雖然大家都說(shuō)MFC不好,但罵歸罵,用還得用。
現(xiàn)在C#開(kāi)發(fā)的Windows程序已經(jīng)能編譯成native了,運(yùn)行效率提高了1.6倍左右吧
?
本文摘自 :https://www.cnblogs.com/