C# CLI(公共语言基础结构)

CLI定义

C#生成的不是机器码,而是中间语言——Common Intermediate Language(CIL)。在执行时在会被转换为机器码

注意区分CLI和CIL,充分理解含义

当然,代码想要执行,转换为机器码是不够的。还需要一个负责管理C#程序执行的代理,也就是虚拟执行系统(Virtual Execution System),又称“运行时”。不仅负责加载和运行程序,还负责安全保障,垃圾回收等额外功能

CLI标准包含以下规范:

  • 虚拟执行系统(VE)——运行时

  • CIL——通用中间语言

  • 公共类型系统——Common Type System (CTS)

  • 公共语言规范——Common Language Specification (CLS)

  • 元数据(Metadata)

  • 框架(Framework)

运行时

“运行时”在将CIL代码转换为机器码并执行它之后,他仍在继续管理着代码的执行。在“运行时”这个代理环境下执行的代码称为托管代码,执行过程叫托管执行。数据所需的内存是由“运行时”自动分配和回收的

垃圾回收

.NET垃圾回收器,在每次执行垃圾回收期间会将清理之后的对象压缩在一起,这能使新对象更快的实例化,因为不需要搜索新的分配空间。另外如果计算机内存剩余大量空间,垃圾回收器很少运行——这就是为什么Unit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值