CLR DEFINED(CLR)
在Delphi的源代码中我们经常能看到像{$IF DEFINED(CLR)}之前的语句。那究竟什么是CLR呢?
CLR是Commen Language Runtime的简写,叫通用语言运行库。
在.NET出来以前,在不同编程语言之间共享原代码,简直是不可能的事情。因为每个编程语言定义的数据类型不同,而且语法也不同。如果真的要共享原代码通常的做法就是把两个人之间互相调用的功能写成DLL或COM。但在.NET出来后就不用这么麻烦了,微软大师们想到了把数据类型统一的好办法,这个技术叫CTS(common type system)。通过CLR,你就可以直接使用其他语言编写的代码了,比如说,用VB.NET可以继承C++.NET写的类,反过来也是可以的。简单地来说,源代码经过CLR编译后,在.NET环境下能被多种语言所共用。
通用语言运行平台(Common Language Runtime,简称CLR)是微软为他们的.NET的虚拟机所选用的名称。它是微软对通用语言架构(CLI)的实现版本,它定义了一个代码运行的环境。CLR运行一种称为通用中间语言的字节码,这个是微软的通用中间语言实现版本。
CLR运行在微软的视窗操作系统上。查看通用语言架构可以找到该规格的实现版本列表。其中有一些版本是运行在非Windows的操作系统中。
主要功能[编辑]
CLR的主要功能如下
- 基类库支持 Base Class Libray Support
- 存储器管理
Memory Management - 线程管理 Thread Management
- 存储器自动回收 Garbage Collection
- 安全性 Security
- 类型检查 Type Checker
- 例外管理 Exception Manager
- 除错管理 Debug Engine
- 中间码(MSIL)到机器码(Native)编译
- 类型装载 Class Loader
开发人员使用高级编程语言撰写程序。接下来编译器将代码编译成微软的中继语言(MSIL)。运行的时候CLR会将MSIL码转换为操作系统的原生码(Native code)。CLR内置有实时编译)编译器。