|
|
1
25
公共语言运行时(CLR)是.NET a类型系统、JIT、垃圾收集器和c提供的核心服务集。这些服务可用于所有.NET语言,因此是“公共”部分。 这个 Dynamic Language Runtime (DLR) 在此基础上构建,并为动态语言提供服务:动态类型、动态方法分派、代码生成和c。其思想是使这些内容统一,并在动态语言之间共享,以便它们可以预测和类似地工作,就像CLR上的内容也跨所有语言一样。
在某种程度上,这些是可比的,.NET上的“普通”语言使用CLR,动态语言应该使用DLR,但也将使用CLR。它们是设计人员认为在跨语言通用时很好的基本功能集。IronPython和IronRuby是在DLR之上实现的,就像C#4一样
|
|
|
2
17
我将添加一个简单的图表来演示这一点:
|
|
|
3
7
DLR运行在CLR的顶部。DLR允许C#
|
|
|
4
7
只是给已经给出的优秀答案增加了一点清晰性。 首先是CLR,这是一个抽象层,位于用户代码和物理硬件之间。有几个优点:
.Net DLR是由 Jim Hugunin 而且是
实例
|
|
|
Nicola · C++CLI项目中非托管数据上的C#指针 8 年前 |
|
|
Anton Savelyev · 在发布版本中删除类指针会导致内存问题 8 年前 |
|
|
shmnff · 显式转换int到SqlInt32 8 年前 |
|
|
Alex12 · windows窗体中的C++if语句[关闭] 8 年前 |
|
|
Claude Tan · 类型定义和类型引用之间有什么区别? 9 年前 |