公共语言运行时就是按照CLI标准制作的执行托管代码的环境.CLR 能运行非托管代码。
公共语言运行的功能:代码JIT/AOT编译、 内存管理 、垃圾回收、异常处理、反射服务、安全服务、程序集加载、本机互操作
.net公共语言运行时CLR :例如 Mono、.NET Framework框架下的CLR2.0 CLR4.0; .NET Core/.NET 5+ 下的coreCLR4.0; Xamarin
托管代码与 非托管代码
托管代码:-MSIL(中间语言)形式的代码是在语言编译器编译后开发的,并由被CLR
调用的托管代码直接执行。例如:-.net框架支持所有61种语言代码
非托管代码:-之前开发的代码,.net
其MSIL形式不可用,而是CLR
直接由其执行CLR
将其重定向到操作系统,这称为非托管代码。
例如:-COM,Win32 API