MFC与.net比较

.NET Core即将统治!MFC时代终结?揭秘技术变革背后的真相! 随着技术的不断进步和市场需求的变化,.NET Core凭借其现代化的特性和全球化的视野,将成为未来软件开发的主流选择。MFC作为一种传统的开发框架,在历史的长河中发挥了重要作用,但随着.NET Core的崛起和技术的发展,它的时代似乎即将结束。然而,随着时间的推移,MFC逐渐暴露出一些局限性,比如对新技术的适应性不强,以及在跨平台开发方面的不足。.NET Core的出现不仅解决了跨平台的问题,还引入了许多现代编程的特性和优势,如自动垃圾回收、丰富的类库支持、以及更好的安全性和性能。 阅读详情
1、MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。
.Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。


2、只是两个不同平台的编程,一个是NET平台,一个是WIN32 


3、.net的基类是基于.net运行时库的,通过运行时库对操作系统和硬件进行操作,而MFC是直接对操作系统和硬件进行操作的。


.NET有个问题就是你编写的程序只能在装有.net   framework的机器才能运行的,而MFC只需设置在静态库中使用   MFC就可能直接到其它机器运行 。不过我认为用.NET开发比用MFC方便多了。.NET FRAMEWORK 比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的dll文件与.net framework <br />半年前开发了一个添加水印的com组件,前几天客户那里报错,<br /> <br />状况:在xp、网络上下载的别人OEM的2003 虚拟机上没 有问题,但是在2003sp2裸机上(打过VC9sp1补丁)报错<br /> 代码(VC9):if (m_hDll == NULL)<br /> m_hDll = ::LoadLibraryW(RelToAbsWithPlugin(L"PDFToolCol.dll").c_str());<br /><br /> PdfToolActio 阅读详情

相关推荐

BCG界面控件三个产品的功能比较,供大家参考选择

大家都知道,BCGSoft公司是微软MFC指定合作厂家,所以,在这里就不赘述它的好了。   一、BGControlBar Library Pro Edition 功能: BCGControlBar专业版是MFC的一个扩展库,可以用来构建类似于Microsoft® Office 2000/XP/2003/2007/2010、Microsoft Visual Studio(打印、用户定制工具栏

小航爱分享 1255

MFC与.NET的区别

1.     MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。 .Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。 2.     只是两个不同平

wubin1124的专栏 1万+

.NET编程之子线程和UI交互,WPF、WinForm、MFC对比

C#编程之子线程更新UI 以前我都是这种做法: private void WorkThread2() { while (true) { UpdateLabel1(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); Thread.S...

Zy100Papa的博客 1498

【转】MFC与.NET的区别

1. MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。 .Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。 2. 只是两个不同平台的编程,一个是NET平台,一个是WIN32。 3. .NET的基类是基于.net运行时库的,通过运行时库对操作系统和硬件进行操作,而MFC是直接对操作系统和硬件进行操作的。 .NET有个问题就是你编写的程序只能在装有.net framew...

sinolover的专栏 3005

使用.NET Framework扩展MFC程序

使用.NET Framework扩展MFC程序

MFC应用程序在.NET框架下的扩展(2-1)

本书详细介绍了在现有MFC应用程序中综合运用.NET框架的技术。全书共分11章,内容包括正则表达式、文件I/O和注册表、数据加密、XML和DOM、ADO .NET数据库、远程处理、事件日志等。为了让读者透彻理解如何运用.NET框架来扩展MFC程序,作者为每个知识点配备了演示程序并提供了实用的项目创建指导和大量案例程序。<br>本书适合于具有MFC编程知识的程序员作为参考书,尤其适合致力于在MFC应用程序中运用.NET基类库(BCL)的程序员。 <br><br>第1章 综合运用MFC与托管扩展 1<br>1.1 引言 1<br>1.2 编写托管扩展应用程序 2<br>1.3 编写访问.NET的MFC应用程序 8<br>1.4 混合模式编程问题 11<br>1.5 运用.NET类型 15<br>1.6 小结 30<br>第2章 正则表达式 32<br>2.1 引言 32<br>2.2 使用Regex类来分解字符串 32<br>2.3 用Match和MatchCollection类来搜索字符串 39<br>2.4 处理捕获组和捕获 45<br>2.5 解析和置换字符串 53<br>2.6 使用捕获组和替换模式置换匹配 56<br>2.7 综合运用:编写一个电子邮件解析器 59<br>2.8 小结 65<br>第3章 文件I/O和注册表 66<br>3.1 引言 66<br>3.2 .NET中的流、读取器和写入器 66<br>3.3 文件系统类 94<br>...<br>

.net 和MFC 比较

1, MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。 .Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。 2, 只是两个不同平台的编程,一个是NET平台,一个是WIN32 3, .net的基类是基于.net运行时库的,通过运行时库对操作系统和硬件进行

asdfghjashuang的专栏 1561

高通camera调试经验总结

修改AF对焦模式 adb shell setprop vendor.debug.camera.af.manual 2 //使能手动对焦 adb shell setprop vendor.debug.camera.af.manual 0 //使能自动对焦

weixin_43381364的博客 1万+

ATL与MFC中的CString

       在ATL和MFC中都可以使用CString类来处理字符串,如果在MFC中要使用ATL中的CString,需要使用名字空间ATL::CString。在书写中,可以使用CStringT,CStringA,CStringW三种格式,如果是UNICODE工程,CStringT等同于CStringW,如果是ANSI工程,CStringT等同于CStringA.下面介绍几个常用的CString使用技巧。1.模仿.NET中的split方法      在.NET里的string类中有个split方法,即传入一

Richard_Sky_Sun的专栏 3675

青龙人形机器人硬件平台设计全解析:从构型到控制系统的实战指南

本文全面解析了青龙人形机器人硬件平台的设计与实现,涵盖构型设计、驱动系统、能源方案及控制系统等核心模块。重点介绍了43个自由度的仿生学实践、关节模组的技术突破以及多模态感知融合等创新设计,为开发者提供了从理论到实战的完整指南。

embedding5hiker的博客 890

多思计算机组成原理实验:模型机课程设计

计算机组成原理实验教程 基于多思网络虚拟实验系统 张雯雰

Nick的博客 2万+

(轉貼) VB, Delphi, BCB 和 C++/MFC 的抉擇 (C/C++) (MFC)

Abstract目前開發Windows程式的方式很多,除了VB、Delphi、BCB與MFC外,.NET和Java也可以,甚至跨平台的Qt與GTK+等也可以,這篇文章雖然是2001年有點久遠(7年前),不過觀念卻很正確,也剛好點出了很多一般人錯誤的觀念,值得一讀。 Introduction轉貼自http://squall.cs.ntou.edu.tw/winprog/VBvsCPPMFC.htm...

weixin_33714884的博客 474

Verilog简易电梯控制系统(2层)

电梯处于1楼,按KEY3,LED3亮,电梯处于上行状态时,立刻按 KEY2,LED2亮,电梯继续运行至2楼,LED3灭;按KEY3,LED3亮,电梯处于上行状态时,立刻按 KEY0,LED0亮,电梯继续运行至2楼,LED3灭;电梯处于2楼,按KEY2,LED2亮,电梯处于下行状态时,立刻按 KEY3,LED3亮,电梯继续运行至1楼,LED2灭;电梯处于2楼,按KEY2,LED2亮,电梯处于下行状态时,立刻按 KEY1,LED1亮,电梯继续运行至1楼,LED2灭;电梯运行至2楼后LED1灭,2楼待机。

m0_54240221的博客 6952

Windows CE .NET 应用程序开发:我有哪些选择?(转)

摘要:比较 Microsoft Windows CE .NET 应用程序开发人员目前可以使用的三种开发选择(即 Win32、MFC 和 Microsoft .NET Framework 精简版)的优势。学习如何使用每个运行时创建...

cuankuangzhong6373的博客 211

保姆级教程:手把手调试PX4Ctrl的油门映射与姿态控制(附ROS节点配置)

本文提供PX4Ctrl的深度调参指南,涵盖油门映射、姿态控制及ROS节点配置等关键环节。通过详细解析PX4控制器的核心逻辑、递归最小二乘法(RLS)参数估计及状态机设计,帮助开发者优化无人机飞控性能。附实战案例与安全调试建议,适合PX4开发者进阶学习。

weixin_30363981的博客 382

基于FPGA的DDS信号发生器

之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。 module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data ); input Clk...

qq_43534451的博客 9949

[转]Windows CE .NET Application Development: What Are My Options?

原文地址:http://msdn.microsoft.com/en-us/library/aa459138.aspx Mike Hall Microsoft Corporation Steve Maillet Entelechy Consulting February 7, 2003 Summary: Compares advantages of the three development options now available to application developers

寂竹 1524

【收藏向】模拟电子技术超强知识点总结 20小时不挂科

模电真的有难度的一门课,一定要好好学… 用的教材是华科康华光版,其他版本教材也可参考,内容是差不多的。 话不多说直接上思维导图干货(后有思维导图高清原图链接) 1 绪论 2 运算放大器 3 二极管及其基本电路 4 场效应管及其放大电路 5 双极结型三极管及其放大电路 三种组态总结看不清,给个特写 发现虽然csdn上传的是原图,但是显示的图片不是特别清晰,在此贴出B站知乎地址,第五章之后的内容都在上面,还可以查看原图 ———————————————————— B站专栏地址(可以点击查看原图) htt

工科狗Niko的博客 1万+

.Net 与 MFC 的区别 .

1.     MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。 .Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。 2.     只是两个不同平台的编程,一个是NET平台,一个是WIN32。 3.     .NET的基类是基于.net运行时库的,通过运行时库对操作系统和硬件进

机器视觉之家 1618

ROSTCM6+Gephi的网络语义分析详细教程(附案例实战)

ROSTCM6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。Gephi是一款开源免费跨平台基于JVM的复杂网络分析软件,可用于各种图形和网络的可视化和探索,是最受欢迎的网络可视化软件之一。

m0_64336780的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C++的MFC,与C#的.NET

C++的MFC,与C#的.NET 转载于:https://www.cnblogs.com/xifengyeluo/p/8317996.html

weixin_30337251的博客 184

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC.net的一个bug?

相信各位朋友一定开发过可以显示对话框的常规MFC DLL,例如显示一个登陆对话框并进行口令校验。我在VC6下面做时,一点问题都没有。可是转到VC.net中文版之后,麻烦却来了。下面的操作,大家可以试试(一定要用中文版,英文版我不知道是否也会出错)    1、用VC.net新建一个常规MFC DLL项目;    2、在资源编辑器中,插入一个对话框资源;    3、编译此项目,系统会提示:    

xiaoyusc的专栏 1057

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

.NET和MFC的相似性的思考

Technorati 标签: 框架语言的共性 最近在看《深入浅出》MFC,越看越惊奇,发现自己真得是很无知。 MFC RTTI(Runtime Type Information)运行时类型识别 MFC Dynamic Creation 动态创建 MFC Persistent 永久保存 MFC Template .NET 反射 .NET 串行化 .NET泛型 ...

weixin_30653097的博客 87
上一篇: Linux 下源码编译相关知识
下一篇: 分享些电子书,有需要的自行下载
LinuxG_G
博客等级 码龄15年 58粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值