visual C與MFC的關係,Visual C C和C 的關係

2021-05-05 07:36:34 字數 3594 閱讀 2940

1樓:匿名使用者

樓主的問題已經好多人回答了,鑑於自己上學時也在這些問題上糾結過,忍不住也想恢復下 ^_^

樓主應該開啟過 vc 這個軟體吧,你可以看一下新建工程的時候,有好多專案型別可以選擇,例如,win32應用程式,win32控制台,mfc應用程式等等,所以 vc 只是乙個開發環境,你可以選擇使用mfc,也可以選擇不使用mfc寫你的軟體。mfc是微軟提供的一套類庫,是乙個類的集合,統稱mfc,樓主學過資料結構的話,應該知道鍊錶,佇列,map等等這些東西,c語言裡用char*,c++裡用string表示字串,mfc對這些都有自己的封裝 carray,cmap,cstring等。

但是,mfc重要且常用的一部分是對視窗的封裝。cwnd,cdialog,cbutton等等。我們拿軟體上的按鈕來說,不適用mfc,直接用win32 的api 函式來建立,我們要用createwindow函式先建立出來,還要計算按鈕的大小,位置等等。

但是用mfc,我們想建立乙個按鈕,直接在工具箱裡拖到介面上,調整位置和大小也就是動動滑鼠的事,一句**不用寫就出來了。這也是mfc的優越之處。

那麼,我們一般說的 windows 程式設計,和 mfc 程式是什麼關係呢?其實,一般我們說的windows程式就是不使用mfc類庫里的東西,直接用 api 寫的程式,顯而易見,我們建立乙個按鈕就需要寫函式,計算位置等等這些過程,要是建乙個複雜的介面,肯定要寫很多**。mfc的程式當然就是使用了mfc的程式了。

mfc 關於視窗這一塊的封裝,其實就是封裝的 win32 api。像mfc裡cwnd這樣的視窗類,最後還是呼叫的 api 函式 createwindow,只是微軟為了方便開發人員快速的開發軟體,幫我們處理了,借助 vc 和 mfc 給我們乙個所見即所得環境。

直接用 win32 api 程式設計類似於 c 語言的面向過程程式設計,還是因為mfc為了方便我們開發,通過一些封裝等手段,使得我們開發應用程式,能以物件導向的方式開發了。

c++重要的地方在於這種物件導向的思想,mfc又何嘗不是c++思想的乙個實現?我們用c語言程式設計,顯示乙個東西用 printf,在c++裡可能用 cout 這些函式還不都是 c,或者c++ 的庫提供給我們的? 在vc下開發,別管用不用mfc,只要包含了 c 或者 c++ 的標頭檔案,鏈結了庫檔案,都是可以使用的。

雖然 mfc 提供了這麼方便的開發方式,但是在方便的同時,mfc隱藏的細節太多,使我們看不清程式後面的機制了,上面說,mfc是對 win32 api 的封裝,所以要想清楚的知道視窗是怎麼出來的,又是怎麼響應使用者的,還是要從 windows 程式設計開始。

個人推薦,先看,windows程式設計,再學習mfc,起碼先把windows程式設計關於建立視窗,訊息處理搞明白以後再看mfc,既然mfc封裝的就是這些東西,你把mfc底層的細節了解一二了,還怕學不會mfc? 希望能幫到樓主 ^_^

2樓:

1、microsoft visual c++,(簡稱visual c++、msvc、vc++或vc)微軟公司的c++開發工具,具有整合開發環境,可提供編輯c語言,c++以及c++/cli等程式語言。vc++整合了便利的除錯工具,特別是整合了微軟視窗程式設計(windows api)、三維動畫directx api,microsoft .net框架。

目前最新的版本是microsoft visual c++ 2010。

2、mfc(microsoft foundation classes),是乙個微軟公司提供的類庫(class libraries),以c++類的形式封裝了windows的api,並且包含乙個應用程式框架,以減少應用程式開發人員的工作量。其中包含的類包含大量windows控制代碼封裝類和很多windows的內建控制項和元件的封裝類。

3、關係:現人們提到mfc多指介面程式。可在visual c++中用mfc型別的程式簡便地實現介面設計。

3樓:匿名使用者

mfc只是vc中的乙個類

mfc,c++,vc++,vs2010 之間到底是什麼關係

4樓:幻形術

c++是程式語言,純語言,c++開發不一定會涉及到視窗介面設計。

mfc是基於c++語言的介面庫,用來在c++開發時進行視窗介面設計的,由window的sdk開發包封裝而來的,包含了大量window的api函式。還有種介面庫是wtl/atl。

vc++就指c++與mfc的結合體,即視覺化c++開發,有介面設計的。

vs2010是c++語言編譯器(用來將**編譯成可執行程式的軟體)的乙個版本,還有vs6.0、vs2002、vs2005。

5樓:匿名使用者

vc++一般是指的vc6.0,和vs2010一樣,屬於ide。 c++是程式語言,mfc是用c++的物件導向思想封裝的類庫

6樓:匿名使用者

c++是在c語言的基礎上發展而來的物件導向的一種語言;

mfc是基於c++類的窗體開發工具,內含大量的基類,減少程式設計人員的工作量;

vc++是一種開發工具。

vs2010是更高版本的開發工具,功能強大,內集合vc++,vb,c#等。

7樓:

mfc 是微軟一套sdk

c++ 是一種程式語言.

vc++ 是微軟的工具 visual studio 系列中的 c++ 一般可看做是 mfc

vs2010 就是 visual studio 了. 2010版本. 帶編譯器的 編輯器. (ide)

8樓:veket的小號

類庫、語言 、工具、一堆工具(vb、vc、c#......)

visual c#、c和c++的關係

9樓:匿名使用者

簡單地說c++是c的「超集」,就是說c的**可以被c++編譯器編譯;

c#是一種改良的「類c」語言,與c++完全不是一回事!

10樓:怒火

c++是c的超集,所以c的c++能用。

c#和c、c++的語法有很多相似的地方,但是具體細節中,有很多小的地方不同,所以一般都需要重新編寫**。

c++和visual c++是不同的,後者指mfc,可以用來做窗體的,微軟自己在c++的基礎上又做了工作。

11樓:匿名使用者

c和c++是美國貝爾實驗室發布的,c++是在c的基礎上發展而來的,對c相容,支援c的函式,只要包含c的標頭檔案就行,c#是微軟發布的,可能某些關鍵字相同,但跟c和c++相互不相容,格式差別也很大,而c和c++的格式差別不大

編好的c++**與mfc到底是什麼關係,我怎麼實現?

12樓:西子醉

mfc提供物件導向的框架,程式開發人員可以利用這一框架建立windows應用程式。

mfc按照c++類的層次結構組織在一起。

microsoft在windows api的基礎上封裝了一組c++的類,並以c++庫的方式提供,這將能夠使程式設計師的工作更容易,它就是microsoft基本類庫(mfc),該庫的主要優點是效率高,它減少了在建立windows 程式時必須編寫的大量**,同時還提供了所有利用c++程式設計的優點,例如繼承和封裝等。

形象說:如果你要造木船,c++模擬為樹,mfc為樹經過加工的木板。造船的時候,直接用木板了,但原料還是由樹來的。

用過C MFC的來,MFC和C 的關係?。

微軟說了,至少在三年內,mfc還是主流。mfc是基於api的,穩定,高效。c 功能強大,使用方便,做大程式更好用。速度趕mfc差得多。個人更推薦c 畢竟現在的電腦跑得很快了,但還是要把sdk學完。如果你打算學c sdk可以先跳過了。要麼就c sdk,mfc這樣一直的學下去。要麼就轉學c 切忌一會想學...

電工率中的V與W的意義,知道多少V與多少A或多少HZ,如何算

乙個用電器的功率 等於它使用的電壓乘使用時經過他的電流 v代表電壓a代表電流 w代表功率 也就是w等於v a hz代表交流電的頻率 他對計算功率時 用不到 希望能幫到你 希望採納 初中物理課本裡面有 小妹妹明年上初中老師就會教的 v 伏特簡稱伏 電壓的單位 hz 赫茲 頻率的單位 v與hz是交流電的...

0 4KV,0 4KV與380V之間有什麼關係

10 0.4kv表示變壓器的變壓比,0.4kv與380v之間有380v 400v 0.4kv的關係。在網電的最後一級變壓中,都是把10kv變壓成0.4kv,就是400v,可以線路損耗20v,網電習慣用380v 220v表示。三相四線制中380v 3 220v 1.732 220v 381.04v 4...