VB.net和MFC,vb和vb net
什么是VB.NET和VC++;C#与.NET有什么联系?
VB.net和VC#.net在功能上没有区别。编译以后生成的可执行文件被称为Assembly,即程序集。
公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出林州免费做网站回馈大家。
VB.net的版本号是Visual Basic 7.0,它的运行是建立在CLR(Common Language Runtime)和MSIL(Microsoft Intermediate Language)虚拟器上的。其实,它的机制和Java差不多。
2.vc++是Windows平台上的C++编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。
VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说VC++不是门语言,虽然它和C++之间有密切的关系,如果形象点比喻的话,可以C++看作为一种”工业标准”,而VC++则是某种操作系统平台下的”厂商标准”,而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。
VC++应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势,但为了对WINDOWS开发有一个较为全面细致的认识,笔者在这里还是以讲解WIN API的相关内容为主线。
要想学习好VC必须具备良好的C/C++的基础,必要的英语阅读能力也是必不可少的,因为大量的技术文档多以英文形式发布。
3net是微软推出的一个平台,微软称它为:XML Web 服务平台。它不是一种语言,C#是一种语言,在.net里面还有很多,像VB.net,C++.net,J++.net等,据说.net是微软的一个网络战略。
MFC程序调用VB.NET的DLL的问题
首先,你要确定 ,你的VB DLL里是否使用了.net的类库,一旦使用了.net类库,就需要在项目里加入对CLR的支持。其次,你在DLL里的函数是否指明了是导出函数,非导出 函数 是不可以外部调用 的。如果没有使用.net,而且函数也是导出的,那么可以按照常规DLL的方式 去直接调用 。一旦使用了.net,那样可能 会有些麻烦,至于以上两个问题的解决方法百度一下就可以了。
MFC和.net的关系
1. MFC是在API的基础上封装出来的一个类库,给C++程序员在Windows上快速开发用的。 .Net类库是在Windows非托管API的基础上封装出来的一个托管类库,给程序员在各种Windows平台上跨平台开发用的。
2. 只是两个不同平台的编程,一个是NET平台,一个是WIN32。
3. .NET的基类是基于.net运行时库的,通过运行时库对操作系统和硬件进行操作,而MFC是直接对操作系统和硬件进行操作的。
.NET有个问题就是你编写的程序只能在装有.net framework的机器才能运行的,而MFC只需设置在静态库中使用 MFC就可能 直 接到其它机器运行 。不过我认为用.NET开发比用MFC方便多了。
.NET RAMEWORK 比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语言编写程序,这些知识都可以用上
关于vb.net 和 mfc 和.NET
C#还是会有一个很快的发展期,指不定什么时候就来一个很大的更新,我又要重新板砖
于是我决定选择VB.NET---其实C#与vb.net是一样的东西。
VB.NET做C/S程序的话,应该看些什么资料?---VS的安装目录下自带了数量巨大的Samples,各种语言的都有,再结合MSDN、Codeproject、Stackoverflow、Codeplex等网站就够了。
拖控件的就不用多说了---可惜vb.net和C#都是拖控件的。
和VB比,MFC有什么优势?
跟VB比,MFC的优势是功能强大,win32 API能做的MFC都能做。MFC程序的运行效率也比VB要快很多。MFC的劣势如你所言,是开发效率低。
跟VB.NET或者C#比,MFC的优势是不需要.net framework。有时你装个几百K的.net写的小程序,却不得先安装几十M的.net redistribution pack。另外,MFC毕竟是native C++写的,有时你需要用一些C/C++库,如果用MFC,可以直接调用。如果用C#,就必须用managed c++再封装一层。反之,如果你要调用.net的库,那么C#可以直接用,但MFC就必须先实现个从.net到native code的封装。
当前标题:VB.net和MFC,vb和vb net
文章网址:http://ybzwz.com/article/dseeceg.html