全面剖析VB.NET(5)

槿丶少爷

槿丶少爷

2016-01-29 12:06

全面剖析VB.NET(5),全面剖析VB.NET(5)
五、公共运行时环境
迄今为止,业界对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框架的整体安全性抱有怀疑。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/vb/)

对CLR进行优化影响IL层次上的代码,它使得所有使用CLR的语言受益。然而,对于特定语言的优化涉及到如何把代码编译成IL代码,它根据特定语言的语法进行。因此,.NET各种语言之间存在一定的性能差异是必然的。但不管如何,从整体上来看这仍旧是好事,例如CLR为VB带来了和C#一样的调试和分析工具——之所以能够如此,是因为它们都使用一样的工具。

CLR提供了前所未有的跨语言集成能力,其中包括跨语言继承代码的能力。所有使用CLR的语言都使用一个公共类型系统(Common Type System),它使得开发那些运用多种语言的应用变得更为容易。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/vb/)

在CLR之内运行的代码称为“受管理的代码”(Managed Code),受管理代码所使用的内存由CLR全面控制。受管理的代码有着许多优点,包括交叉语言集成、跨语言异常控制以及一个组件交互的简化模型。Visual Basic.NET只能以受管理代码方式运行,与此相对应,C#却具有将代码转入非受管理方式运行的能力(运行在CLR之外),比如执行指针处理之类的操作。这是VB.NET不能与C#相提并论的地方之一。然而,这种能力的是否重要,对于不同的人、不同的用途来说都有所不同。

展开更多 50%)
分享

猜你喜欢

全面剖析VB.NET(5)

vb
全面剖析VB.NET(5)

全面剖析VB.NET(4)

vb
全面剖析VB.NET(4)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

全面剖析VB.NET(2)

vb
全面剖析VB.NET(2)

全面剖析VB.NET(6)

vb
全面剖析VB.NET(6)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

全面剖析VB.NET(7)

vb
全面剖析VB.NET(7)

全面剖析VB.NET(1)

vb
全面剖析VB.NET(1)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

为对话框中的控件增加提示的简单方法

为对话框中的控件增加提示的简单方法

子类化:增强Edit控件为日期输入控件

子类化:增强Edit控件为日期输入控件
下拉加载更多内容 ↓