zhouqijie

公共语言运行库(CLR)

UWP利用Native.NET把IL编译成本地代码。而.NETFramework和.NET Core1.0的应用程序都需要CLR。

  1. 将源代码编译为中间语言IL。
  2. CLR将IL编译为平台专用的本地代码。

JIT

新的CLR和CoreCLR包括一个新的JIT编译器RyuJIT。新的JIT编译器不仅比之前的版本快,还在用VS调试时更好地支持Edit&Continue特性。

类型加载器

CLR还包含一个带有类型加载器的类型系统,类型加载器负责从程序集中加载类型。类型系统中的安全基础设施验证是否允许使用某些类型系统结构,如继承。

GC

创建类的实例后,实例还需要销毁,内存也需要回收。CLR的另一个功能是垃圾回收器GC。GC从托管堆中清楚不再引用的内存。

线程的托管

CLR还负责线程的处理。在C#中创建托管的线程不一定来自底层操作系统。线程的虚拟化和管理由CLR负责。

(Continue)