问题的中心点是问 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入门经典》第五版
MFC 是 Visual C++ 中提供一个基于 C++ 的类库,对于 Windows 开发中的常用的窗体和基本的数据结构提供了封装,学习难度较大。
.NET 是微软新一代的开发框架,提供了纯面向对象的虚拟机,这方面的资料很多。