日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【转】MFC与.NET的区别

發布時間:2023/12/10 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】MFC与.NET的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. ? ? MFC是在API的基礎上封裝出來的一個類庫,給C++程序員在Windows上快速開發用的。 .Net類庫是在Windows非托管API的基礎上封裝出來的一個托管類庫,給程序員在各種Windows平臺上跨平臺開發用的。


2. ? ? 只是兩個不同平臺的編程,一個是NET平臺,一個是WIN32。


3. ? ? .NET的基類是基于.net運行時庫的,通過運行時庫對操作系統和硬件進行操作,而MFC是直接對操作系統和硬件進行操作的。


.NET有個問題就是你編寫的程序只能在裝有.net ? framework的機器才能運行的,而MFC只需設置在靜態庫中使用 ? MFC就可能 ? 直 接到其它機器運行 。不過我認為用.NET開發比用MFC方便多了。


.NET RAMEWORK 比MFC容易多了。不過需要CLR的支持,執行效率不如MFC。NET ? project使用的是托管的c++,使用.net ? framework,是基于窗體開發的。


4. ? ? MFC是微軟為了簡化win32窗體編程而推出的C++類庫。VC.net是指在Net環境下的窗體編程。
從Vsita開始,微軟就規定窗體全部是基于.Net的了。


5. ? ? .NET 是 Microsoft XML Web services 平臺。XML Web services 允許應用程序通過 Internet 進行通訊和共享數據,而不管所采用的是哪種操作系統、設備或編程語言。Microsoft .NET 平臺提供創建 XML Web services 并將這些服務集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。


6. ? ? .net是一種框架,也可以說是一種平臺,并不是語言。.net是一個平臺,也就是說,在.net下編寫程序,編譯后,執行的時候是需要.NET框架的解析。即:.net下生成的.EXE .DLL 在沒有.NET框架支持的情況下是無法執行的,及時執行也會出錯:.net框架下可以支撐好多語言編寫程序,比如 c++ vb java c#等等,可以滿足不同的程序員的編程語言的偏好,可以編寫web、windowsform等各種程序。這也是.NET比較實用化的一個特點。


7. ? ? NET框架是構建并運行程序的平臺,他主要包括公共語言運行庫(CLR)和.NET框架類庫(FCL)。 ? CLR抽象了操作系統服務,并用作托管應用程序的執行引擎。托管應用程序,即其每一個動作都要經過CLR批準。FCL提供了用面向對象方法寫托管應用程序的API,所以,編寫.NET框架應用程序,不需要考慮Windows ? API、MFC、ATL、COM或其他技術,只需要使用FCL。 ?
? ? ?公共語言運行庫位于操作系統之上,為托管應用程序提供虛擬環境。如果把.NET框架比作人,那么公共語言運行庫就是心臟和靈魂。CLR將托管代碼翻譯為一種偽匯編語言,即通用中間語言(CIL)。 ?
? ? ?有了.NET框架,語言僅僅是產生CLI(通用中間語言)的工具,不管是使用VB.NET還是C#,所有的托管應用程序都使用相同的API,即.NET框架類庫(FCL)。在.NET平臺下,所有的高級語言編寫的代碼最終都被編譯為CIL。


8. ? ? MFC和.Net的根本理念很接近,似乎都是謀求多平臺下統一的公共類封包,提高兼容性和開發速度。但是使用后我覺得.Net Framework的開發速度雖然高,但執行效率缺比較低,占用內存多而且發行包的體積太大。雖說號稱未來會超越Windows跨越更多系統,雖說C#中的一些開發理念很吸引人,但是事實上一般的Win-App開發中,MFC看起來還是首選嘛。


9. ? ? NET也好,C#也好,我覺得都是主要服務于網絡環境開發和快速開發,當然也有所謂的跨平臺移植,而MFC作為一套Framwork來說,可能相對更面向一些純本地應用開發。所以,MFC還是很有前途的,作為MS的雙股劍,MFC/ATL還將繼續輝煌!


10. ?.NET框架設計為一個集成環境,可以在Internet、桌面(如Windows窗體),甚至移動設備(使用精簡框架Compact Framework)上無縫地開發和運行應用。其主要目標是:提供一個覆蓋整個應用范圍的、一致的面向對象環境;


提供一個環境,將困擾Windows(COM)程序員的版本沖突(“DLL Hell”,即DLL地獄)問題最小化,簡化代碼的發布/安裝過程;


基于公認的標準,提供一個可以在任意操作系統上運行的可移植環境。實際上,C#和.NET運行時的一個主要部分,即通用語言基礎設施(Common Language Infrastructure,CLI),已經得到了ECMA的標準化。


ECMA國際(ECMA International)全名是歐洲計算機制造協會(European Computer Manufacturers Association),簡寫作ECMA。


提供一個可管理的環境,在這個環境中,可以很容易地驗證代碼,以保證程序安全運行。


為了實現上述目標,.NET框架設計者們最后確定了以下體系結構,將框架分解為兩部分:通用語言運行時CLR和框架類庫FCL,CLR是Microsoft對CLI標準的具體實現,它處理代碼執行及所有相關任務:編譯、內存管理、安全、線程管理、強制類型安全和類型使用。在CLR中運行的代碼稱為托管代碼(Managed Code),以區別于不在CLR中運行的非托管代碼(unmanaged code),如基于COM或Windows API的組件。


.NET的另一個主要部分是框架類庫FCL,對于在.NET中運行的應用來說,它是一個可重用的類型(類、結構等)代碼庫。正如圖中所示,它包含了涉及數據庫訪問、圖形、與非托管代碼互操作、安全、Web和Windows窗體等類。只要是遵循.NET框架的語言,都會使用這個公共類庫。因此,只要知道了如何使用這些類型,不論你選擇用哪一種.NET語言編寫程序,這些知識都可以用上

總結

以上是生活随笔為你收集整理的【转】MFC与.NET的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。