最近被.net搞得好模糊,CLR 是什么,有什么作用,谁能讲的很清楚,让我理解

Python017

最近被.net搞得好模糊,CLR 是什么,有什么作用,谁能讲的很清楚,让我理解,第1张

微软.NET Framework框架的CLR是指公共语言运行时(Common Language Runtime,简称CLR),简单地理解CLR是指所有托管代码运行时的宿主,就是说托管代码的运行是依赖(寄宿)于CLR环境的。原理是因为托管代码编译后并非是二进制文件(0和1)而是生成MSIL,即微软中间语言,再由IL去解析到底如何去执行。

托管代码:C#,VB.NET,J#等.NET平台语言。

非托管代码:C语言,C++语言。

CLR就是类似于JAVA的JVM(JAVA虚拟机),.NET与JAVA都一个样,编译后都不是0和1,它们分别是.NET为IL中间语言,JAVA为字节码。然后分别由.NET的CLR,JAVA的JVM去解析。

CLR常用简写词语,CLR是公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。