频道栏目
读书频道 > 软件开发 > C# > 精通C# : 第6版
1.7 CLR
2013-06-22 10:54:45     我来说两句
收藏   我要投稿

本文所属图书 > 精通C# : 第6版

本书是C# 领域久负盛名的经典著作,深入全面地讲解了C# 编程语言和.NET 平台的核心内容,并结合大量示例剖析相关概念。全书分为八部分:C# 和.NET 平台、C# 核心编程结构、C# 面向对象编程、高级C# 编程...  立即去当当网订购

除CTS和CLS规范外,我们现在要了解的最后一个字母缩写术语是CLR。从编程角度来说,运行库(runtime)可以理解为执行给定编译代码单元所需的外部服务的集合。比如,当Java程序员向一台新电脑部署软件时,要确保软件运行,电脑上就要安装JVM(Java Virtual Machine,Java虚拟机)。

.NET平台提供了另一种运行库系统。.NET运行库与刚才提到的其他运行库的关键不同在于,.NET运行库提供了一个定义明确的运行库层,可以被支持.NET的所有语言和平台所共享。

CLR中最重要的部分是由名为mscoree.dll的库(又称公共对象运行库执行引擎)物理表示的。当用户程序引用一个程序集,要使用它时,mscoree.dll将首先自动加载,然后由它负责将需要的程序集导入内存。运行时引擎负责许多任务,首要的任务是负责解析程序集的位置,并通过读取其中包含的元数据,在二进制文件中发现所请求的类型。接着,CLR在内存中为类型布局,将关联的CIL编译成特定平台的指令,执行所有需要的安全检查,然后运行当前的代码。

除了导入自定义的程序集和建立自定义的类型,必要时CLR也会与包含在.NET基础类库的类型交互。虽然完整的基础类库被分为若干分离的程序集,但最重要的程序集是mscorlib.dll。mscorlib.dll包含大量核心类型,它们封装了各种常见的编程任务与.NET语言用到的核心数据类型。当建立一个.NET解决方案时,你可以自动访问这些程序集。

图1-4说明了发生在源代码(它使用了许多基础类库类型)、.NET编译器和.NET执行引擎之间的工作流。


 

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.6 CLS
下一篇:1.8 程序集/命名空间/类型的区别
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站