軟件開發方式一共有三種:SDK方式、MFC開發方式、托管環境的開發都是基於消息的開發
SDK方式
原裝api的調用
SDK方式使用C語言和Windows應用程序編程接口(Windows API)來開發Windows應用程序,Windows API里面都是C函數,類似於C語言的標准函數庫,只是Windows API這個函數庫(或稱開發包)用來開發Windows應用程序。微軟通過Windows軟件開發包(Windows Software Development Kit,SDK)來提供Windows API。這種方式是早期開發Windows應用程序的唯一方式,現在在界面開發中用的不多,但在飛非界面領域,比如多線程、網絡、圖形圖像等某些對速度要求較高的場合會經常用到。SDK方式是底層的開發方式,熟悉了SDK方式后,對理解MFC方式大有裨益。用這種方式開發,要求開發者熟悉C語言和Windows環境。這種方式開發的Windows程序習慣稱為Win32程序。
用這種方式開發Windows應用程序的最大好處是只需熟悉C語言,不必學習C++語言,學會這種開發方式能對Windows操作系統底層運行機制有相當深入的理解,而且這種方式開發出來的程序相對於其他兩種方式運行速度更快。下面我們來看一個最簡單的Win32程序。
MFC開發方式
MFC是對sdk的高度封裝的類庫
MFC是微軟基礎類的縮寫(Microsoft Foundation Classes),是一個龐大的類庫,可以理解為一種在Windows上開發軟件的架構,是微軟專為Visual C++定制的。該類庫提供一組通用的可重用的類庫供開發人員使用。
沒有MFC之前,Windows上用Win32 API進行編程,之后MFC出現,在一定程度上提高了軟件開發效率,它是對win32 API的封裝,所以易用性好,不過性能會比win32開發低一些,二者各有所長吧。
托管環境的開發
.net java虛擬機
在Windows上開發界面程序以前用MFC最合適,能兼顧效率和性能,后來出了.net的C#,MFC就不是最高效的開發方式了,而且MFC用不好的話,問題也挺多的,不過雖然大家都說MFC不好,但罵歸罵,用還得用。
現在C#開發的Windows程序已經能編譯成native了,運行效率提高了1.6倍左右吧