当前位置:  开发笔记 > 编程语言 > 正文

CLR和CLI - 有什么区别?

如何解决《CLR和CLI-有什么区别?》经验,为你挑选了3个好方法。

我想知道CLR和CLI之间究竟有什么区别?从我到目前为止所阅读的内容来看,它似乎表明CLI是CLR的一个子集.但是CLR中的所有内容都不是强制性的吗?CLR究竟可以省略什么来创建CLI?



1> Cody Brociou..:

该CLR是微软实施的CLI标准.


它也是这样,你只需要将目标架构设置为"液体".

2> Rahul Bhatna..:

CLR是安全地托管/运行.NET应用程序的执行环境.

您可以将其视为.NET的专用操作系统,它在.NET应用程序启动之前启动并加载.

CLR负责处理任何.NET应用程序的某些基本要求,否则这些应用程序需要编写大量有意识的代码才能实现; 这些要求本质上是整体的,对于以良好,有效和安全的方式运行的任何类型的应用程序至关重要[例如,处理内存分配并在不需要时释放它,避免悬挂指针,避免类型转换错误等]

另一方面,CLI是一个规范/指南集,解释了如何实现应用程序执行环境以及生成的应用程序代码的性质,允许在不同的计算机平台上使用多种高级语言,而无需针对特定体系结构进行重写.

CLI由Microsoft开发,由ISO和ECMA标准化.

CLR是CLI的VES [虚拟执行系统]部分的实际实现,并构成了MS.NET平台的核心组件之一

用外行人的语言,CLI是一个食谱,而CLR是美食:-)



3> xtrem..:

CLR(公共语言运行时)是Microsoft对VES(虚拟执行系统)的实现.VES以及CTS(通用类型系统),CLS(通用语言规范)和元数据规范都是CLI(公共语言基础结构)规范的一部分.

VES是标准化的虚拟机规范,必须实现才能加载和执行CIL(通用中间语言)模块(dll和exe).VES实现还提供运行时服务,例如垃圾收集和安全性.

ECMA C#和通用语言基础设施标准

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有