CLR公共语言运行库的知识你知道了吗?

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

(一)CLR介绍
CLR是一个可以由多编程语言使用运行时,CLR的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等。可以被很多属于微软系列的开发语言使用。
(二)托管模块
托管模块简单的讲说只要满足两个条件他就是托管模块
1、他是为.net框架编写的代码
2、需要CLR管理的。
满足以上两点就是托管模块
(三)程序集
程序集中的代码不是本机代码,是CIL中间语言(Common intermediate Laguage)
程序集中包换:
1、程序的中间语言
2、程序中使用的类型元数据
3、程序中使用的程序集引用的元数据

C#代码运行流程

C#的代码运行流程如下图:

C#源文件 .net CIL(中间语言) JIT编译器 本机代码 操作系统服务 C#源文件 .net CIL(中间语言) JIT编译器 本机代码 操作系统服务

.net是属于框架而C#就等于语言规范
C#源文件经过C#编译器进入程序集,在进入JIT编译器,然后变成本机代码,最后给操作系统服务。
程序集上边文章讲过了,如果没记住往上翻翻。
这里讲下JIT编译器
JiT(Just in Time)实时编译器
CLR中包括JIT编译器
JIT工作流程如下

CLR开始工作 检查程序集 在内存分配空间 把程序集中可执行的代 把另外的一部分直接 CLR开始工作 检查程序集 在内存分配空间 把程序集中可执行的代 把另外的一部分直接

猜你喜欢

转载自blog.csdn.net/weixin_42746271/article/details/89358429