天天看點

【MFC】MFC開發之前言

00. 目錄

01. mfc概述

02. vc++簡介

03. vc++和mfc

04. mfc架構

05. 為什麼選擇mfc

06. 附錄

微軟基礎類庫(英語:microsoft foundation classes,簡稱mfc)是微軟公司提供的一個類庫(class libraries),以c++類的形式封裝了windows api,并且包含一個應用程式架構,以減少應用程式開發人員的工作量。其中包含大量windows句柄封裝類和很多windows的内建控件群組件的封裝類。

mfc(microsoft foundation classes)是微軟基礎類庫的簡稱,是微軟公司實作的一個c++類庫,主要封裝了大部分的windows api函數,vc++是微軟公司開發的c/c++的內建開發環境,所謂內建開發環境,就是說利用它可以編輯,編譯,調試,而不是使用多種工具輪換操作,靈活性較大。vc也指它的内部編譯器,內建開發環境必須有一個編譯器核心,例如devc++其中一個編譯器核心就是gcc。 mfc除了是一個類庫以外,還是一個架構,在vc++裡建立一個mfc的工程,開發環境會自動幫你産生許多檔案,同時它使用了mfcxx.dll。xx是版本,它封裝了mfc核心,是以你在你的代碼看不到原本的sdk程式設計中的消息循環等等東西,因為mfc架構幫你封裝好了,這樣你就可以專心的考慮你程式的邏輯,而不是這些每次程式設計都要重複的東西,但是由于是通用架構,沒有最好的針對性,當然也就喪失了一些靈活性和效率。但是mfc的封裝很淺,是以效率上損失不大。

vc++全稱是visual c++,是由微軟提供的c++開發工具,它與c++的根本差別就在于,c++是語言,而vc++是用c++語言編寫程式的工具平台。vc++不僅是一個編譯器更是一個內建開發環境,包括編輯器、調試器和編譯器等,一般它包含在visual studio中。visual studio包含了vb、vc++、c#等編譯環境。當然我們在使用vc++ 6.0的時候為了輕便,總是隻單獨安裝vc++ 6.0。但自微軟2002年釋出visual studio.net以來,微軟建立了在.net架構上的代碼托管機制,一個項目可以支援多種語言開發的元件,vc++同樣被擴充為支援代碼托管機制的開發環境,是以.net framework是必須的,也就不再有vc++的獨立安裝程式,不過可以在安裝visual studio時隻選擇vc++進行安裝。

mfc全稱microsoft foundation classes,也就是微軟基礎類庫。它是vc++的核心,是c++與windows api的結合,很徹底的用c++封裝了windows sdk(software development kit,軟體開發工具包)中的結構和功能,還提供了一個應用程式架構,此應用程式架構為軟體開發者完成了一些例行化的工作,比如各種視窗、工具欄、菜單的生成和管理等,不需要開發者再去解決那些很複雜很乏味的難題,比如每個視窗都要使用windows api注冊、生成與管理。這樣就大大減少了軟體開發者的工作量,提高了開發效率。

​ 當然vc++不是隻能夠建立mfc應用程式,同樣也能夠進行windows sdk程式設計,但是那樣的話就舍棄了vc++的核心,放棄了vc++最強大的部分。mfc也不是隻能用于vc++中,它同樣也可以用在borland c++等編譯器中。

mfc架構提供了一組旨在簡化windows程式設計的可重用類。

mfc為許多基礎對象提供類,例如日常程式設計中使用的字元string,檔案和集合。

它還提供常見的windows api和資料結構的類,如視窗,控件和裝置上下文。

該架構還為更進階的功能(如activex和文檔視圖處理)提供了堅實的基礎。

此外,mfc提供了一個應用程式架構,包括構成應用程式體系結構層次的類。

mfc架構是一種強大的方法,可以讓您基于windows專家程式員的工作。mfc架構具有以下優點。

縮短開發時間。

它使代碼更便于攜帶。

它還提供了巨大的支援,而不會減少程式設計自由度和靈活性。

它可以輕松通路“難以程式設計”的使用者界面元素和技術。

mfc通過資料通路對象(dao)和開放資料庫連接配接(odbc)簡化資料庫程式設計,并通過windows套接字進行網絡程式設計。

不過對于21世紀的小夥伴,還是建議使用qt等其他工具吧。

繼續閱讀