.Net Common Language Runtime(公共语言运行时)

Common Language Runtime

.Net编程语言

首先声明,.Net并不是C#,.Net是一个平台,.Net编程语言有超过60多种,其中包括VB, C#, C++。简而言之,.Net编程语言就是可以在.Net平台上运行的编程语言。

CLR

简单的介绍了.Net编程语言,接下来进入本篇文章的主角——Common Language Runtimen(CLR, 公共语言运行时)
在这里插入图片描述
我们的.Net源码(如C#)是怎么编译的呢,这其中CLR做出了巨大的贡献,下面逐步讲.Net程序的编译过程。

  • 首先,我们的源代码经过特定编译器(如visual studio),编译成一种中间语言(
    Common Intermediate Language, CIL)元数据(metadata)
    。中间语言是无法被电脑识别的,是一种与机器无关的代码(machine independent code),**元数据(metadata)**包括代码中的所有的类型和函数的实现过程。
  • 然后,我们的主角CLR就出现了,它为中间语言(CIL)提供运行的所需的服务和环境,CLR包含一个叫做JIT(just-in-time) 的编译器,JIT可以将中间语言编译成机器语言,以供电脑识别并执行。在CLR处理CIL中间语言的同时,元数据(metadata)给CLR提供编程语言环境,版本和类库等信息。
  • 代码被编译成机器语言后,CPU就可以识别并执行了。
    以上就是我们的.Net编程语言编译执行的大致过程了。
    在这里插入图片描述
    因为CLR应用很广,所以任何一种可以在CLR上运行的语言所创建的类实例都可以调用另一个可以在CLR上运行的语言的类方法,例如C#可以调用VB语言中的方法。

CLR还有其他的组成部分,但是这里就不作讲解了,想了解的可以自己查找资料。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值