-
簡單來說,MFC就是一套用VC++提前開發的框架,它有乙個非常完整的系統,可以在一定程度上提高開發效率。
但是打包很好是優點和缺點,優點是開發效率高,缺點是底層實現不可見,這對初學者來說不一定是好事。
對於初學者來說,最好對 C++ 語言本身有一點熟悉,然後在學習 MFC 之前熟悉 Windows 訊息迴圈等基礎知識。
如果一開始就從MFC開始,以後很多問題都會走彎路,只能知道它是什麼,卻不知道為什麼會這樣。
-
VC++ 包括 STL、MFC、ATL 等開發庫。 STL 是標準的 C++ 模板庫,MFC 用於開發 Windows 應用程式,ATL 用於開發控制項。 還可以開發 VC++ 的 VS2008 版本。
.NET 程式。
-
VC++ 只是乙個編譯器,可用於開發相關的 C++ 和 C。
MFC是Microsoft的基礎類庫,是一系列的應用模板,可用於開發視窗應用,自動生成相關框架。
-
VC++ 是 1998 年推出的編譯器(確切地說是整合開發環境)。
MFC 是乙個應用程式框架,它甚至在 VC++ 之前就出現了,之前所有的 VC++ 都說 VC++ 包含 MFC 時都是不正確的。 不僅 VC++,而且 VS 中也提供 MFC。 類,確切地說
該嚮導特定於 VC 或 VS 類
Wizard 是乙個外掛程式,它作為 IDE (如 VC)的一項功能提供完整的功能,使使用者更容易使用 MFC 進行程式設計。
但是,由於 MFC 是開源的,理論上你可以參考它的 **(如果你真的有閒話)進行一些修改並移植到其他 IDE 上,如果你更感興趣,也可以為你移植的 IDE 開發乙個類似的類
嚮導外掛程式,則該 IDE 也可以使用 MFC。
至於說MFC只是介面,有點狹隘,首先是Windows
API提供了介面的繪圖功能,可以建立視窗程式並在其上繪圖,無需MFC。 其次,MFC 是乙個封裝常用 Windows 的應用程式框架
API 在一定級別將其呈現給使用者。 在編譯器不支援 RTTI 的情況下,MFC 的開發人員使用他們的方法在此框架中提供 RTTI,通過 Message 使用 Windows 訊息響應機制
map(訊息對映), 訊息
路由對使用者來說更自然,提供了方便的鍊表類,其中對容器的 C++ 支援不太完美。 總而言之,MFC 不僅僅是乙個介面。
最後,MFC確實凝聚了一堆Microsoft牛的技術結晶,但畢竟是20年前的結晶,實際上現在幾乎被淘汰了(VC++也是)。
-
VC++ 包括 MFC。
VC++ 是乙個可以做很多事情的編譯器,而 MFC 只是乙個使用 C++ 作為介面的工具。
讓我們看看其他人怎麼說。
-
VC++ 是 1998 年推出的編譯器(確切地說是整合開發環境)。
MFC 是乙個應用程式框架,它甚至在 VC++ 之前就出現了,之前所有的 VC++ 都說 VC++ 包含 MFC 時都是不正確的。 不僅 VC++,而且 VS 中也提供 MFC。 準確地說,Class Wizard 是 VC 或 VS 獨有的,Class Wizard 外掛程式作為 VC 和其他 IDE 的乙個功能,提供了最佳的完成功能,使使用者使用 MFC 進行程式設計更加方便。
但是,由於 MFC 是開源的,理論上你可以參考它的**(如果你真的有閒暇的話)進行一些修改並移植到其他 IDE 上,如果你更感興趣,也可以為你移植的 IDE 開發乙個類似於 Class Wizard 的外掛程式,那麼那個 IDE 也可以使用 MFC。
至於MFC只是做介面,這個有點狹隘,首先Windows API提供了介面繪製功能,你不是用MFC來建立視窗程式,然後在上面畫畫的。 其次,MFC 是乙個應用程式框架,它封裝了常用的 Windows API,並在一定級別將它們呈現給使用者。 在編譯器不支援RTTI的情況下,MFC的開發者在這個框架中使用了他們的方法提供了RTTI,通過訊息對映、訊息路由更自然地將Windows的訊息響應機制呈現給使用者,並在C++對容器的支援不是那麼完善的時候,提供乙個方便的鍊表類。
總而言之,MFC 不僅僅是乙個介面。
最後,MFC確實凝聚了一堆Microsoft牛的技術結晶,但畢竟是20年前的結晶,實際上現在幾乎被淘汰了(VC++也是)。
-
VC++ 包括 MFC。
VC++ 是乙個可以做很多事情的編譯器,而 MFC 只是乙個使用 C++ 作為介面的工具。
-
我也想過這個問題......
C++ 是由 C++ 標準委員會開發的一種語言或語言規範。
C++語言規範出現後,需要有乙個具體的實現,就是提供乙個執行時平台和編譯器,讓開發者可以使用該語言。
VC++ 是 C++ 的具體實現,由 Microsoft 在 Windows 平台上實現,編譯器為 VC6,最新版本為 VS2013。
GUN 在 Linux 系統下的另乙個實現是 GCC。
每個編譯器實現並不嚴格遵守 C++ 規範,並且存在一些差異,例如 vs 和 gcc 都有自己的特殊語法。 此外,不同的編譯器對應於不同版本的C++語言規範。 例如,VC6 不太支援 C99,因為 VC6 比該標準更舊。
其實具體區別一般不會太明顯。
一般來說,C++通常預設稱為VC++。
VC++和MFC,MFC是Microsoft基礎類,Microsoft基礎庫的全過程。 這個東西是開發Windows圖形程式的框架,是原生Win32API的包裝器,可以理解為Microsoft在Windows平台和C++語言上構建的程式設計框架,簡化Windows圖形程式的開發,因為Win32API實在是太痛苦了,微軟再也受不了了。
-
C++是一種語言,VC++在某種意義上是Microsoft提供的平台或環境,可以在Windows平台下使用C++,例如MFC是一組由Microsoft封裝的庫。
-
無論如何,在我學習的早期,MFC確實讓我沮喪了一段時間。
但是,您需要了解 MFC 是基於 C++ 的庫。 當您使用 createwindow wndproc winmain 等函式時,您是否覺得這些步驟太繁瑣了? 你必須用幾個簡單的表格寫很多**,這樣才能提高開發效率。
Microsoft 已將 API 封裝到庫中,例如用於構建視窗的 cframe,在本類中,它全部由您熟悉的 Win32 API 組成。 簡單來說,MFC的目的是縮短開發效率,對API進行分類,用預先編寫的庫代替重複的步驟。
但是,也有缺點,如果你習慣了SDK開發,你不會知道這個MFC可以用幾行**用幾行SDK效率來完成。 因此,這正是我們需要做的,以探索 MFC 的實現以及如何封裝它。 這就是“學習MFC”。
要知道,如果不了解MFC的打包結構,就學不好MFC。
雖然我不太喜歡MFC,但我總覺得它是雞肉)。
-
Microsoft 基礎類 (MFC) 是乙個 Microsoft 類庫,它以 C++ 類的形式封裝 Windows API,並包含乙個應用程式框架,以減少應用程式開發人員的工作量。 它包含大量的 Windows 控制代碼封裝類和許多 Windows 內建控制項和元件封裝類。
MFC 中最重要的封裝是 Win32 API 的封裝,因此了解 Windows 物件和 MFC 物件(C++ 物件、C++ 類的例項)之間的關係是理解 MFC 的關鍵之一。 所謂 Windows 物件(Windows 物件)是由 Win32 下的控制代碼表示的 Windows 作業系統物件; 所謂MFC物件是乙個C++物件,乙個C++類的例項,這裡(在本本書的範圍內)MFC物件有特定的含義,指的是封裝Windows物件的C++物件,而不是任何C++物件。
-
Microsoft 基礎類
為了減少編寫器的數量,Microsoft 將一些常用的類封裝在乙個庫中,供大家使用和呼叫。 即 MFC。
-
呵呵,我告訴你,C++是學習MFC的基礎,因為MFC中的程式是用C++編寫的。
如果你學好C++,你只能說你已經學會了基礎程式設計,而且你必須學習很多關於各個方面的介面才能真正應用它們,而這些介面會使用n個不同的函式,這些函式與C++無關,因為你只需要根據提供的函式名和正確的引數呼叫這些函式即可。
所以你認為MFC和C++是兩個世界是很正常的,因為有很多與圖形程式設計相關的函式,遠遠超過C++語言的關鍵字,但是你必須記住這些函式的名稱和引數,因為有了這些名稱和正確的引數,你就可以建立對話方塊, windows之類的(當然,如果你足夠好,也可以使用C的paint函式,自己畫乙個按鈕,然後給這個按鈕起個名字(也就是函式名),然後在使用這個按鈕的時候呼叫這個函式),如果不夠好,那就記住函式名,記住引數, 但也要記住規則,什麼事件,代表團等等。
如果你打算將C++用於網路程式設計之類的事情,那麼你將不得不學習一堆介面,比如scokt(我不太記得網路介面,呵呵),等等。
如果你想用C++來做資料庫之類的東西,那麼你必須學習,什麼是ODBC,這是C++和資料庫之間的介面,你必須學習,這也是很多新的東西。
如果你想用C++進行遊戲程式設計,那麼你必須學習OpenGL,也就是遊戲的介面,你必須理解它。
當然,程式再好,也需要有乙個友好的介面(因為現在人們不可能在DOS中操作),所以在你給程式程式設計之後,再給他乙個完美的視窗、對話方塊、按鈕、友好的操作(比如滑鼠點選,按回車鍵就可以了,這些都是圖形化程式設計中的事件), 那麼你的程式就會被更多的人使用,而不好操作的軟體也被沒人使用,圖形化程式設計的目的就是讓你對視窗、按鈕、選單進行程式設計,並實現這些東西產生的功能,沒有別的。
以上這些你肯定都聽說過,你不懂墨生,呵呵,只學一門語言是沒用的,你要選擇乙個方向去學習。
這不就等於問你維護世界的最佳方式是什麼? 飼料!! 樓上,你**轉了一圈,怎麼我找不到,這個也解釋不了,反正是超大提綱,任何教育知識都可以收錄,但也有例外,知識不知道有多少例外!