加载中...

公共语言运行时(Common Language Runtime,CLR)是微软 .NET 平台的虚拟机与执行引擎:C#、F#、VB.NET 等语言统一编译为 CIL(通用中间语言)字节码,由 CLR 加载、JIT 编译并托管执行。
包括 RyuJIT 即时编译器(支持分层编译与按运行剖析的动态 PGO)、分代式垃圾收集器、类型安全验证、异常处理与线程管理;元数据与反射使程序集自描述,P/Invoke 支持调用本地代码。其底层规范 CLI(公共语言基础结构)经 ECMA-335 标准化。
「公共语言」意指多语言共享同一类型系统(CTS)与运行时,可无缝互操作。实现上,经典 .NET Framework 的 CLR 仅限 Windows;开源跨平台的 .NET(Core)使用 CoreCLR,Mono 则长期服务于 Unity 与移动端,.NET 亦提供 Native AOT 直接产出原生可执行文件。
CLR 与 JVM 并列为最成熟的两大托管运行时,两者的设计相互借鉴、长期竞争。

登录 后参与讨论
暂无讨论,来发表第一条评论吧