五、公共运行时环境
迄今为止,业界对vb.net讨论得最多的特色或许就是clr。vb.net运行在clr之上,正是clr为vb.net带来了许多关键的新特色(包括缺点在内)。例如,clr使得vb.net支持跨语言的继承以及自由线程。
在vb6中,分布式vb程序要求有vb运行时库msvbvm60.dll支持,即该运行时库必须随同应用一起分发。其他许多语言,比如c++和java,也有类似的要求。在.net中,所有visual studio语言共享同样的运行时环境clr。改用clr带来了几个重要的结果:现在所有visual studio语言都共用同样的ide、同样的窗体引擎、同样的异常处理机制,等等。它意味着visual basic在很大程度上已经可以和.net的其他语言相提并论,如c#等。然而,对于clr的异议仍旧存在,vb业界仍在激励地争辩它地价值。
不管应用是用vb、c#还是其他.net语言编写,所有vs.net代码都是编译成中间语言(intermediate language,il)。当应用运行时,一个实时编译器(just-in-time compiler,或称为jit)就把il代码编译成机器语言。在理论上,它意味着为非windows的平台构造.net运行环境是可能的,但目前还没有出现有关这类系统的正式消息。il有一个缺点:正如vb在5.0以前的版本,il代码对于类似的反向编译工程很敏感。由于存在这种可能性,许多开发者对于.net框架的整体安全性抱有怀疑。
对clr进行优化影响il层次上的代码,它使得所有使用clr的语言受益。然而,对于特定语言的优化涉及到如何把代码编译成il代码,它根据特定语言的语法进行。因此,.net各种语言之间存在一定的性能差异是必然的。但不管如何,从整体上来看这仍旧是好事,例如clr为vb带来了和c#一样的调试和分析工具——之所以能够如此,是因为它们都使用一样的工具。
clr提供了前所未有的跨语言集成能力,其中包括跨语言继承代码的能力。所有使用clr的语言都使用一个公共类型系统(common type system),它使得开发那些运用多种语言的应用变得更为容易。
在clr之内运行的代码称为“受管理的代码”(managed code),受管理代码所使用的内存由clr全面控制。受管理的代码有着许多优点,包括交叉语言集成、跨语言异常控制以及一个组件交互的简化模型。visual basic.net只能以受管理代码方式运行,与此相对应,c#却具有将代码转入非受管理方式运行的能力(运行在clr之外),比如执行指针处理之类的操作。这是vb.net不能与c#相提并论的地方之一。然而,这种能力的是否重要,对于不同的人、不同的用途来说都有所不同。
全面剖析VB.NET(5)-.NET教程,VB.Net语言
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 全面剖析VB.NET(5)-.NET教程,VB.Net语言
相关推荐
-      VS2010的aspx文件中的html代码的格式化方法
-      .net 反序题目的详细解答第1/2页
-      asp.net创建html文本文件实例
-      比较完整的 asp.net 学习流程
-      官网 Ext direct包中.NET版的问题
-      C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页
-      c# 连接字符串数据库服务器端口号 .net状态服务器端口号
-      asp.net教程:简单的C#图片上传代码或C#文件上传代码