CLR via C# Reading Notes(1)

来源:互联网 发布:知乎日报api接口 编辑:程序博客网 时间:2024/06/06 16:06
  • CLR(Common Language Runtime,公共语言运行时):一个可以由多种编程语言使用的运行库,核心功能包括内存管理、程序集加载、安全性、异常处理、线程同步等。

  • 编译器:语法检查器和“正确代码”的分析器。

  • 托管模块(Managed Module):一个标准的32位或64位Windows可移植体(Portable Executable)文件(PE32/PE32+),他们需要CLR才能执行。

  • 程序集(Assembly):一个或多个模块/资源文件的逻辑性分组;重用、安全性以及版本控制的最小单元。在CLR世界中,Assembly相当于一个Component。可以是一个.exe文件,也可以是一个.dll文件。

  • 利用程序集的概念,可以将一组文件当做一个单独的实体来对待。

  • 编译器将生成的托管模块转换成程序集。

  • 对于一个可重用、可保护、可版本控制的组件,程序集把它的逻辑表示和物理表示区分开来。利用程序集,可以在不同的地方部署文件,同时任然将所有的文件作为一个整体来对待。

  • CLR能够判断出为了执行程序集中的代码,程序集的直接依赖对象是什么(自描述,self-describing)。不需要在注册表或者Active Directory Domian Service中保存额外的信息。

  • EXE文件的头包含platform的版本信息(32位或64位)和CPU的架构信息,它决定了应用程序可以在哪种版本的操作系统上运行。

  • CTS(Common Type System,通用类型系统)

  • Filed: 一个数据变量,是对象状态的一部分。字段根据名称和类型来区分。

  • Method: 一个函数, 能针对对象执行的一个操作,通常会改变对象的状态。方法有一个名称、一个签名以及一个或多个修饰符。

  • Property: 对于调用者,成员看起来就像是一个字段,但是,对于类型的实现者,它看起来像是方法(getter and setter)。属性允许实现者在访问value之前对输入参数和对象状态进行检验。同时,属性可设置位可读或可写。

  • Event: 事件用于在对象及其他相关对象之间实现一个通知机制。

  • COM(Common Oject Model)允许不同语言创建的对象之间进行通信。

  • CLS(Common Language Specification),公共语言规范。

  • CLR支持三种操作模式:托管代码能够调用DLL中的非托管函数;托管代码可使用现有的COM组件(服务器);非托管代码可使用托管类型(服务器)

0 0