CLR(Common Language Runtime)公共语言运行库
(一)CLR介绍
CLR是一个可以由多编程语言使用运行时,CLR的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等。可以被很多属于微软系列的开发语言使用。
(二)托管模块
托管模块简单的讲说只要满足两个条件他就是托管模块
1、他是为.net框架编写的代码
2、需要CLR管理的。
满足以上两点就是托管模块
(三)程序集
程序集中的代码不是本机代码,是CIL中间语言(Common intermediate Laguage)
程序集中包换:
1、程序的中间语言
2、程序中使用的类型元数据
3、程序中使用的程序集引用的元数据
C#代码运行流程
C#的代码运行流程如下图:
.net是属于框架而C#就等于语言规范
C#源文件经过C#编译器进入程序集,在进入JIT编译器,然后变成本机代码,最后给操作系统服务。
程序集上边文章讲过了,如果没记住往上翻翻。
这里讲下JIT编译器
JiT(Just in Time)实时编译器
CLR中包括JIT编译器
JIT工作流程如下