background image

程序代码,这种代码在.NET 中被称为托管代码(Managed Code),所有的 Managed Code 都直接运
行在 CLR 上,具有与平台无关的特性。

解释性的语言很安全,并且可以通过他的运行平台为其赋予更多的功能,例如自动内存管理,异常

处理等,事实上,C#语言的许多特点都是由 CLR 提供的,如图 2 所示的 CLR 结构图说明了这一点。

从图 2 可以看到,C#所具有的许多特点都是由 CLR 提供的,如类型安全(Type Checker)、垃圾回

收(Garbage Collector)、异常处理(Exception Manager)、向下兼容(COM Marshaler)等,具体
的说,.NET 上的 CLR 为开发者提供如下的服务:
◆平台无关:CLR 实际上是提供了一项使用了虚拟机技术的产品,他构架在操作系统之上,并不要求

 

程序的运行平台是 Windows 系统,只要是能够支持它的运行库的系统,都可以在上面运行.NET 应用。
所以,一个完全由托管代码组成的应用程序,只要编译一次,就可以在任何支持.NET 的平台上运行.
◆跨语言集成:CLR 语序开发这以任何语言进行开发,用这些语言开发的代码,可以在 CLR 环境下紧
密无缝的进行交叉调用,例如,可以用 VB 声明一个基类对象,然后在 C#代码中直接创建次基类的派
生类。
◆自动内存管理:CLR 提供了拉架收集机制,可以自动管理内存。当对象或变量的生命周期结速后,
CLR 会自动释放他们所占用的内存.
◆跨语言异处理
◆版本控制

.NET

安全

◆简单的组件互操作性。
◆自描述组件:自描述组件是指将所有数据和代码都放在一个文件中的执行文件。自描诉组件可以大大
简化系统的开发和配置,并且改进系统的可靠性。

通用语言运行时(CommonLanguageRuntiome,CLR)最早被称为下一代 Windows 服务运行时

(NGWS Runtime).它是直接建立在操作系统上的一个虚拟环境,主要的任务是管理代码的运行。CLR
现在支持几十种现代的编程语言为它编写代码,然后以一种中间语言(Intermediate Langeoage,IL)代
码的形成被执行。并且,CLR 还提供了许多功能以简化代码的开发和应用配置,同时也改善了应用程