Visual Studio 2005.NET中的CLR编程和MFC编程有什么区别?

来源:互联网 发布:易遨软件 编辑:程序博客网 时间:2024/06/05 10:52

 两者都可以开发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并没有什么传奇的色彩,他只是时代需求的产物。

原创粉丝点击