Visual Studio 2005.NET中的CLR编程和MFC编程有什么区别?
2007-11-26 17:31
387 查看
两者都可以开发Windows窗体项目,两者的功能都差不多,那么他们到底有哪些细微的差别呢?
或者两者的本质根本不同? 想开发基于数据库的Windows窗体项目,管理的是本地的数据库,最好选择CLR还是MFC来开发呢?
首先,MFC 可以开发 Windows 应用程序,.net 可以开发的只是 .net framework 应用程序,功能相差很大!
本质的不同在于:
MFC 是基于 Windows 的,直接编译成本机二进制代码,可直接在 Windows 操作系统中执行,它是依赖于平台系统调用的(也就是 MFC 本身对 API 的包装)
.net 编程(就是你说的 CLR)是基于 .net framework 的,理论上说它是跨平台的(虽然目前只有 Windows 支持它,而且需要单独加装组件),编译后的只是中间代码,不可直接执行。
至于开发基于数据库的 Windows 应用,用哪个都无所谓。
另:.net是个平台,是个像Java似的一种体系,在他上面开发出来的程序是运行clr上的而不是真正的运行在系统上的,因此如果今后微软开发了unix的.net平台,你的程序可以不需要重新编译而运行在unix操作系统上。而我们用vb6 vc6 delphi c++build 等开发出来的程序是建立在pe文件格式和windows API基础上的,这意味着,你只能将你的程序运行在win32系统上而且32bit和64bit的win32又有所不同,因此你的程序还要经过改动才能保证正确的32<=>64bit移植。还有.net保证了各种关联并隐藏了实现细节,比如网络,还如pda,手机,便携通讯设备等等系统之间的数据交互(用win32编程会很复杂的)。实际.net并没有什么传奇的色彩,他只是时代需求的产物。
或者两者的本质根本不同? 想开发基于数据库的Windows窗体项目,管理的是本地的数据库,最好选择CLR还是MFC来开发呢?
首先,MFC 可以开发 Windows 应用程序,.net 可以开发的只是 .net framework 应用程序,功能相差很大!
本质的不同在于:
MFC 是基于 Windows 的,直接编译成本机二进制代码,可直接在 Windows 操作系统中执行,它是依赖于平台系统调用的(也就是 MFC 本身对 API 的包装)
.net 编程(就是你说的 CLR)是基于 .net framework 的,理论上说它是跨平台的(虽然目前只有 Windows 支持它,而且需要单独加装组件),编译后的只是中间代码,不可直接执行。
至于开发基于数据库的 Windows 应用,用哪个都无所谓。
另:.net是个平台,是个像Java似的一种体系,在他上面开发出来的程序是运行clr上的而不是真正的运行在系统上的,因此如果今后微软开发了unix的.net平台,你的程序可以不需要重新编译而运行在unix操作系统上。而我们用vb6 vc6 delphi c++build 等开发出来的程序是建立在pe文件格式和windows API基础上的,这意味着,你只能将你的程序运行在win32系统上而且32bit和64bit的win32又有所不同,因此你的程序还要经过改动才能保证正确的32<=>64bit移植。还有.net保证了各种关联并隐藏了实现细节,比如网络,还如pda,手机,便携通讯设备等等系统之间的数据交互(用win32编程会很复杂的)。实际.net并没有什么传奇的色彩,他只是时代需求的产物。
相关文章推荐
- VC++中ATL\CLR\MFC\Win32区别是什么
- Visual Studio中 ATL CLR MFC Win32 区别
- Visual Studio中 ATL CLR MFC Win32 区别
- [转]Visual Studio中 ATL CLR MFC Win32 区别
- MFC中 dc.DrawText()与dc.TextOut()从功能上讲有什么区别?
- winSDK编程与MFC编程的区别
- 第2章 Java编程基础——FAQ2.21 ==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?
- 第2章 Java编程基础——FAQ2.22 创建String对象时, 使用String s=new String (“abc”)和String s=“abc”语句有什么区别?
- 面向对象的编程和面向过程的编程有什么区别
- MFC编程中UpdateData(true)和UpdateData(false)的区别
- 面向对象、面向服务、面向组件三种编程模式有什么区别?分别适用于哪些领域的开发?
- C++ win32编程、mfc编程、ATL编程的区别
- MFC DLL和Win32 DLL有什么区别?
- (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
- (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
- MFC 中的CList,CPtrList,CObList,CStringList有什么区别?
- MFC、SDK和API有什么区别
- VS2010/MFC 入门编程四(OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别)
- 初识概念:Windows编程:VC++下的MFC与SDK区别(差别)详细阐述
- Android编程中,sp和px和dp有什么区别