首页 新闻 搜索 专区 学院

MFC和.NET有是什么区别?

1
[已解决问题] 解决于 2011-08-31 14:52

MFC和.NET有是什么区别?

ZGHAPPY的主页 ZGHAPPY | 菜鸟二级 | 园豆:207
提问于:2011-08-27 20:20
< >
分享
最佳答案
0

问题的中心点是问   C++中的 基于MFC和基于.NET开发出来的程序有啥不同吧?

MFC是微软基础类(Microsoft Foundation Classes,MFC)来编写Windows应用程序的图像界面。MFC封装了用于GUI(图形用户界面)创建和控制的Windows操作系统API。没有任何面向对象的特征。但是性能最佳。

.NET主要是指.NET Framework。.NET Framework主要由两部分组成:1.公共语言运行库(Common Language Rutime,CLR).2.名为.NET Framework类库的程序库。

CLR是标准化的程序执行环境,这些程序可以用各种高级语言编写。CLR规范收录在ECMA(欧洲计算机制造商协会)的CLI(通用语言)和ISO/IEC 23271中。CLR是CLI的实现。CLI本质上是一种虚拟机环境规范,这种环境使以各种高级编程语言编写的应用程序能够在不同系统环境中执行,而不用修改或复制原来的代码。跨平台。.NET中的CLR是微软公司对于CLI的一个实现。

.NET类库嘛,就是微软提供的实现各种功能的方法的集合体各种方法,只能在基于微软的CLR中运行执行,脱离CLR就无法执行。

 

所以用C++的.NET编写的程序必选在客户端安装.NET Framework。(包含MS公共语言运行库相当于Java的虚拟机,MS提供的各种方法),而且因为有虚拟机的托管,比MFC多了一个步骤性能上面比MFC有所损失.用MFC编写的就不需要安装任何其他的框架,直接调用操作系统的API就OK。

不知道我的答案伱满意不.呵呵

引用《Visual C++ 2010入门经典》第五版

IceS | 初学一级 |园豆:197 | 2011-08-28 21:19
谢谢你,我用C++编过很多程序,但是很想把一些大一点的程序做一个界面,问了师兄师姐说最好用C#来做,但是我还是比较喜欢C++,但是学起来又感觉挺难的,我想是不是把那几个控件弄明白就可以做界面了???谢谢你们!
ZGHAPPY | 园豆:207 (菜鸟二级) | 2011-08-30 16:44
还有就是哪一个学起来比较容易
ZGHAPPY | 园豆:207 (菜鸟二级) | 2011-08-30 17:25
既然有C++的基础,我就建议还是学C++,因为学语言还是先精通一门,其他的就迎刃而解。C++的优势在于MFC和高效率,不依靠其他框架,当然C++也可以写基于.NET Framwork的程序。而C#的优势在于ASP.NET网站方面。其实两则各有其特点,学习难度都差不多,我原来是学C#出身,应为自身发展需要,现在自学C++,感觉差不多。重要是练习。既然伱一开始选择的是C++,就还是C++吧。

至于界面C++同样可以用拖控件和双击控件注册事件的方法来编写界面,不是很难
IceS | 园豆:197 (初学一级) | 2011-08-30 21:48
谢谢你啊,太感谢 了,以后多多向你请教
ZGHAPPY | 园豆:207 (菜鸟二级) | 2011-08-31 14:52
关键还是靠自己,呵呵
一起努力吧
IceS | 园豆:197 (初学一级) | 2011-08-31 20:23
其他回答(1)
0

MFC 是 Visual C++ 中提供一个基于 C++ 的类库,对于 Windows 开发中的常用的窗体和基本的数据结构提供了封装,学习难度较大。

.NET 是微软新一代的开发框架,提供了纯面向对象的虚拟机,这方面的资料很多。

冠军 | 园豆:886 (小虾三级) | 2011-08-28 00:00
谢谢你
支持(0) 反对(0) ZGHAPPY | 园豆:207 (菜鸟二级) | 2011-08-30 16:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册