(翻译)《Expert .NET 2.0 IL Assembler》 详要目录 更新到第8章

Expert .NET 2.0 IL Assembler

——精通.NET 2.0 IL汇编程序

 

关于作者

绪论

概要目录 

电子书下载

 

1部分       快速入门

第1章           简单示例

1.1     CLR简介

1.2     简单示例:The Code

     程序头     

     类声明

     字段声明

     方法声明

     全局项

     映射字段

     数据声明

     作为占位符的值类型

     调用非托管代码

1.3     类的预先声明

1.4     小结 

 

第2章           代码增强

2.1     代码压缩

2.2     代码保护

2.3     小结

 

第3章           使代码更简单

     3.1     别名

     3.2     Compilation Control Directives

     3.3     关联当前类和它的引用项

     3.4     小结

 

2部分       底层结构

第4章           托管可执行体文件的结构

4.1     PE/COFF

MS-DOS 头/占位程序 PE特征

COFF

PE

区域头

4.2     CLR

头结构

Flags字段

EntryPointToken字段

VTableFixups字段

StrongNameSignature字段

重定位区段

正文区段

数据区段

数据常量

V-表

非托管导出表

线程局部存储

4.3     小结

阶段1:初始化

阶段2:源代码解析

阶段3:图像生成

阶段4:完成

 

第5章           元数据表的组织

5.1     什么是元数据

5.2     堆和表

      通用元数据头

      元数据表流

5.3     RID和标志

RID

标志

编码标志

5.4     元数据和验证

5.5     小结

 

3部分       基本组件

第6章           模块和程序集

6.1     什么是程序集

6.2     私有程序集和共享程序集

6.3     作为逻辑执行单元的应用程序域

6.4     清单

6.5     程序集元数据表和声明

6.6     AssemblyRef元数据表和声明

被引用的程序集的自动侦测

6.7     加载程序搜索程序集

6.8     Module元数据表和声明

6.9     ModuleRef元数据表和声明

6.10 File元数据表和声明

6.11 托管资源元数据表和声明

6.12 ExportedType元数据表和声明

6.13 ILAsm中清单声明的次序

6.14 单模块和多模块程序集

6.15 元数据验证规则小结

Assembly表验证规则

AssemblyRef表验证规则

Module表验证规则

ModuleRef表验证规则

File表验证规则

Manifest表验证规则

ExportedType表验证规则

 

第7章           名称空间和类

7.1     类的元数据

TypeDef元数据表

TypeRef元数据表

InterfaceImpt元数据表

NestedClass元数据表

ClassLayout元数据表

7.2     命名空间和完整类名

ILAsm命名规则

命名空间

完整类名

7.3     类的特性

标志

类的可见性和友元程序集

类的引用

父类型

接口的实现

类的布局信息

7.4     接口

7.5     值类型

值的装箱和拆箱

值类型的实例成员

值类型的派生

7.6     枚举

7.7     委托

7.8     内嵌类型

7.9     类的扩充

7.10 元数据验证规则小结

TypeDef表验证规则

Enumeration-Specific验证规则

TypeRef表验证规则

InterfaceImpt表验证规则

NestedClass表验证规则

ClassLayout表验证规则

  

第8章           基本类型和签名

8.1     CLR中的基本类型

    基本数据类型

数据指针类型

函数指针类型

向量和数组

修饰符

本地类型

变量类型

8.2     签名中的类表示

8.3     签名

调用约定

字段特征

方法和属性签名

MenberRef签名

间接调用签名

局部变量签名

类型说明

8.4     签名验证规则小结

 

第9章           宇段和数据常量

9.1     字段元数据

定义一个字段

引用一个字段

9.2     实例和静态字段

9.3     默认值

9.4     映射字段

9.5     数据常量声明

9.6     显示布局和联合声明

9.7     全局字段

9.8     构造函数和数据常量

9.9     元数据验证规则小结

Field表验证规则

FieldLayout表验证规则

FieldRVA表验证规则

FieldMarshal表验证规则

Constant表验证规则

MemberRef表验证规则

 

第10章       方法

10.1 方法元数据

方法表的记录项

方法标志

方法名

方法实现标志

方法参数

引用方法

方法实现元数据

10.2 静态方法、实例方法和虚方法

10.3 显示方法重载

10.4 方法重载和访问性

10.5 方法头特性

10.6 局部变量

10.7 类的构造函数

类的构造函数和预初始化标志

模块的构造函数

10.8 实例构造函数

10.9 实例的终止函数

10.10            变量参数列表

10.11            方法重载

10.12            全局方法

10.13            元数据验证规则小结

Method表验证规则

Param表验证规则

MethodImpl表验证规则

 

第11章       泛型类型

11.1 泛型元数据

11.2 约束标志

11.3 ILAsm中定义泛型

11.4 类型参数的寻址

11.5 泛型实例

11.6 定义泛型:继承、实现、约束

11.7 定义泛型:循环依赖性

11.8 泛型成员:泛型中的虚方法

11.9 内嵌泛型

11.10            元数据验证规则小结

 

第12章       泛型方法

12.1 泛型方法元数据

12.2 泛型方法签名

12.3 ILAsm中定义泛型方法

12.4 调用泛型方法

12.5 重载虚泛型方法

12.6 元数据验证规则小结

 

4部分       深入执行体引擎

第13章       IL指令

13.1 长参数和短参数指令

13.2 标签和流控制指令

无条件转移指令

有条件转移指令

比较转移指令

switch指令

break指令

托管EH块退出指令

EH块结束指令

ref指令

13.3 运算指令

栈操作

常量加载

间接加载

间接存储

算术操作

溢出算术操作

位逻辑运算操作

移位操作

转换操作

溢出转换操作

逻辑条件检查操作

块操作

13.4 寻址参数和局部变量

方法参数加载

方法参数地址加载

方法参数存储

方法参数列表

局部变量加载

局部变量引用加载

局部变量存储

局部块存储单元分配

前缀指令

13.5 寻址字段

13.6 调用方法

直接调用

间接调用

尾部调用

有约束的虚调用

13.7 寻址类和值类型

13.8 向量指令

向量创建

元素地址加载

元素加载

元素存储

13.9 代码验证

 

第14章       托管型异常处理

14.1 EH子句的内部表示

14.2 EH子句的类型

14.3 EH子句声明的标签格式

14.4 EH子句声明的作用域格式

14.5 处理异常

14.6 异常类型

加载异常

JIT编译器异常

执行引擎异常

互操作异常

子类异常

非托管异常映射

12.7 EH子句结构化规则小结

 

5部分       特殊组件

第15章       事件和属性

15.1 事件和委托

15.2 事件元数据

Event

EventMap

MethodSemantics

15.3 事件声明

15.4 属性元数据

Property

PropertyMap

15.5 属性声明

15.6 元数据验证规则小结

Event表的验证规则

EventMap表的验证规则

Property表的验证规则

PropertyMap表的验证规则

MethodSemantics表的验证规则

 

第16章       自定义特性

16.1 自定义特性的概念

16.2 CustomAttribute元数据表

16.3 自定义特性的值编码

16.4 自定义特性的口头描述

16.5 自定义特性的分类

执行引擎和JIT编译器

互操作子系统

安全

远程子系统

Visual Studio调试器

程序集链接器

CLR兼容器

伪自定义特性

16.6 元数据验证规则小结

 

第17章       安全特性

17.1 声明性安全

17.2 声明性操作

17.3 安全许可权限

访问许可权限

身份许可权限

自定义许可权限

许可权限集

17.4 声明性安全元数据

17.5 权限集合块编码

17.6 安全特性声明

17.7 元数据验证规则小结

 

第18章       托管和非托管代码的互操作

18.1 替换程序和包装器

P/Invoke替换程序

实现映射元数据

IJW替换程序

COM可调用包装器

运行时可调用包装器

18.2 数据编组

Bittable类型

In/Out参数

字符串数组

对象编组

更多对象编组

数组编组

委托编组

18.3 为非托管方法提供托管方法作为回调

18.4 作为非作为非托管输出的托管方法

输出表的编组

18.5 小结

 

第19章       多语言工程

19.1 IL反编译器

19.2 双向解析的原则

19.3 创造性的双向解析

19.4 使用类的增强

19.5 通过双向解析进行模块链接

19.6 ASMMETA:解决循环依赖性

19.7 内嵌在高级语言中的IL

19.8 调试模式中的编译

19.9 小结

 

6部分       附录

       附录A    ILAsm语法

       附录B    元数据表

       附录C    IL指令集

       附录D    IL AssemblerIL Disassembler的命令行选项

       附录E    离线验证工具

 

索引

 

部分专有名词翻译:

Expert

 

Property 属性

Attribute 特性

Managed 托管的

Executable File 可执行体文件

 

CompactCompacting

 

Class Augmentation 类的扩充

Derivation 派生

Convention 约定

Signature        特征/签名     

Label      标签

Branching       转移

Cyclic Dependencies      循环依赖性

Clause     子句

Pseudo 伪的

Signature 签名(第一版翻译为特征,这里不沿袭)

 

posted @ 2008-07-19 19:15  包建强  Views(5022)  Comments(34Edit  收藏  举报