快速理解:编程语言 il clr 机器码 操作系统之间的关系,用饮料作比喻

编程语言:c# vb.net F#

IL:Intermediate  Language(中间语言)

CLR:Common Language Runtime(公共语言运行时)

机器码:机器能读懂的代码(二进制码)

操作系统:windows linux


个人比喻如下(心血来潮所作,欢迎改进):

编程语言:就像水果(苹果,橙子,葡萄)

IL:就像水果汁

CLR:装瓶包装的过程(可以是中文的包装,也可以是英文的包装)

机器码:就像饮料

操作系统:就像国家(中国,美国)


水果经过榨汁(编译)就变成了水果汁,

如果在中国销售:水果汁经过装瓶包装就变成了中文包装的饮料

如果在美国销售:水果汁经过装瓶包装就变成了英文包装的饮料



下面是专业的解释:引用自http://blog.sina.com.cn/s/blog_49947b280100gtde.html

 

CLR,.NET提供了一个运行时环境,叫做公用语言运行时(Common Language Runtime),是一种多语言执行环境,支持众多的数据类型和语言特性。他管理着代码的执行,并使开发过程变得更加简单。这是一种可操控的执行环境,其功能通过编译器与其他工具共同展现。

 

它的主要功能是负责将代码转换成为机器代码,简单的说就是在不同的平台上安装了它,就能运行同样的程序,并且程序不用修改。

 

而不同的程序在.NET环境下编译完毕之后,都变成了IL,也就是.NET框架中中间语言(Intermediate Language)的缩写 使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(Intermedate Language)的代码。

 

IL的特征是低级语言、语法简单(数字代码),能快速转变成机器代码,所以具备平台无关性的基础。

 

而程序被编译之后,就只是变成了IL,当需要运行时,在CLR的基础上,才变为机器代码,在不同的平台上运行。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值