C#中的托管代码

   托管代码实际上是中间语言(IL)代码。代码编写完毕后进行编译,此时编译器将代码编译成中间语言,而不是直接在计算机上运行机器代码。程序集文件负责封装中间语言,程序集中包含了描述所创建的方法。类及属性的所有元数据。

   托管代码在公共语言运行库(CLR)中运行。这个运行库给运行代码提供了多种服务。通常来说,公共语言运行库可以加载和验证程序集,并以此保证中间语言的正确性。当某些方法被调用时,公共语言运行库把具体方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来,以备下次调用时使用。这个过程就是即时编译。

   程序实质上是被托管在公共语言运行库中。随着程序集的运行,公共语言运行库会持续地提供各种服务,例如内存管理。安全管理、线程管理等。

你可能感兴趣的:(语言,编译器)