公共语言运行库(Common Language Runtime,CLR)

本文介绍了.NET框架中的CLR(公共语言运行时)的核心功能,包括其如何通过两阶段编译实现平台无关性、提高性能和增强语言间的互操作性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CLR是.Net的核心,通常在CLR控制下执行的代码叫托管代码

CLR在执行编写好的源代码之前需要进行编译,编译分为两个部分

(1)将源代码编译成中间语言(Microsoft Intermidiate Language,MSIL)
(2)把中间语言编译成平台专用代码

该过程十分的重要,它是提供.Net许多优点的关键

  • 平台无关性:
    IL是一些低级的指令语言,它可以很方便的转化为机器语言,它本身是平台无关的,这意味着编译的后一部分(把IL编译成平台专用代码)可以很容易完成。CLR来决定最终生成哪个平台相关代码(windows ,linux,mac)
  • 提高性能
    IL总是及时编译的(JIT),它并不将应用程序一次编译完,而是编译运行所需的那部分代码,然后将编译过后的部分存储,这样下次运行就不需要编译了。这使得IL代码执行的速度几乎和内部代码一样快。
    另一方面,CLR会针对当前的CPU做出针对性的优化从而提高性。
  • 语言的互操作性
    将不同语言编写的代码都编译成相同的IL,这样就可以是不同语言之间可以相互无差别的交互

转载于:https://www.cnblogs.com/maginwei/archive/2009/04/15/1436285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值