CLR 读书笔记
· 明确几个问题
1..Net framework 如何设计的,相较与COM有何重大变化
2..Net 语言如何变为IL, IL 如何保存,CLR怎样处理它,以及怎样处理托关与非托管代码之间的联系
3.为什么要为assembly配置Meta Data, CLR 怎样使用它,Meta Data 怎样生成和被使用的
4.CLR 如何使用开发中使用的数据类型
5.Exception 的底层实现
6.GC
7. Reflector
8. Multi-Thread
9. Interface, 范型 重用已有的算法
10.Delegate, Call back function
11. Attribute
· .Net Framework 组成
1. CLR
o 文件加载器
o 内层管理器(GC)
o 安全系统(代码访问安全性)
o 线程池
2. FCL (framework class library)
· .Net framework 版本
1.2002年 .Net framework 1.0
2. 2003年 .Net framework1.1
3. 2005年 .Net framework2.0 (支持x86, AMD64, IA64)
4. .Net Compact framework (PDA, 便携式数据终端)
· 将源代码编译成托管模块
|
托管模块各个部分
o 标准Windows PE 文件头 类似Common object file format.
o PE32 可运行在windows32和Windows64位版本上
o PE32+只可运行在windows64位版本上
o 标志文件类型:GUI,CUI,DLL,并包含时间戳指出文件生成时间。只包含IL代码的模块,PE32(+)的大多信息会被忽视。对于包含本地cpu代码的模块,这个头
o 包含了与本地CPU代码的信息
o CLR 头 (clr版本,一些标志,模块数据,资源,强名称。。。)
o 元数据(两种类型的表:源代码中定义的数据和成员;源代码中引用的类型和成员)