您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

1.2.2 微软中间语言——MSIL

http://book.51cto.com  2008-06-17 13:07  周礼  清华大学出版社  我要评论(0)
  • 摘要:《C#和.NET 3.0第一步》第1章详细介绍了.NET 3.0平台的相关概念,使读者对.NET平台的运行机制有一个初步的了解。这一节说的是微软中间语言——MSIL。
  • 标签:MSIL  C++  语言  .NET  C#和.NET 3.0第一步

1.2.2  微软中间语言——MSIL

我们下面就来介绍一下中间语言MSIL,你先看一下下面这个图(图1.5)。图中的汉语、日语、法语就像是.NET平台的各种具体编程语言C++、C#、VB,假设我们有汉语、日语、法语三位学者,他们正在交流一个问题,他们怎么交流呢?很显然,他们都需要使用英语来交流,只有这样他们彼此才能明白。这里的英语就相当于. NET框架中的中间语言,任何编程语言都会被编译成中间语言,由于CLR最终执行的是中间语言,所以这里产生了一个语言无关性问题,如右图(图1.5):

 

语言无关性是指.NET框架产生的最终执行代码是和具体编程语言无关的,只和中间语言有关。你不管使用哪种编程语言,最终都要变为中间语言,你使用任何语言如VB或者VC都是等效的,你懂了.NET框架支持的任何一门语言,它的操作效果和其他语言是相同的。以往当公司里一组人使用VC,一组人使用VB,他们进行交互或协同工作是很困难的,而现在容易了,因为对于VC或者VB来讲它们产生同样的东西——中间语言代码。这样就使得VC的东西可以轻松的被VB调用,同样VB的东西也可以被VC或者其他语言如C#使用。而且更惊人的是:在.NET中一门语言写的类,在其他语言里甚至可以继承过来使用。这些特性带来的益处是巨大的,“严重的”节省了我们对于不同编程语言知识的学习时间,使我们可以放更多精力在程序的业务逻辑等方面。

.NET框架中的中间语言叫MSIL,是“微软中间语言”的意思,它是由一组特定的指令组成,这些指令指明如何执行代码。实际上它有点像某种高级汇编语言,既然是语言,我们当然可以直接用其书写程序,微软公司网站也有MSIL编程相关的教程。当然,我是不会这么去做,因为我们上面说过,.NET框架的任何一门语言具有的功能其他语言也具有,何必自讨苦吃,有时间不如去公园数星星。实际上中间语言的目的是使我们针对不同的应用采取不同的语言,比如完成一个项目你可以使用VB制作界面,使用C#调用组件,使用擅长工程计算的APL语言进行工程计算等。这就好比人类使用旗语来指挥交通,使用英语向联合国汇报交通指挥的详情,使用国语跟老婆谈论最近发生的交通事故。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
C++是垃圾语言?!
VC++基础开发专题
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有