图书介绍
Microsoft .NET IL汇编语言程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![Microsoft .NET IL汇编语言程序设计](https://www.shukui.net/cover/62/32382559.jpg)
- (加)Serge Lidin著;袁勤勇等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111124812
- 出版时间:2003
- 标注页数:322页
- 文件大小:27MB
- 文件页数:334页
- 主题词:汇编语言-程序设计
PDF下载
下载说明
Microsoft .NET IL汇编语言程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 快速入门3
第1章 简单示例3
1.1 公共语言运行环境简介3
1.2 开始简单示例6
1.2.1 程序头7
1.2.2 类声明8
1.2.3 字段声明9
1.2.4 方法声明10
1.2.5 全局项14
1.2.6 映射字段15
1.2.7 数据声明16
1.2.8 作为占位符的值类型16
1.2.9 调用非托管代码17
1.3 类的提前声明18
1.4 小结19
第2章 增强代码20
2.1 代码维护20
2.2 保护代码22
2.3 小结26
第二部分 底层结构29
第3章 托管可执行文件的结构29
3.1 PE/COFF头30
3.1.1 MS-DOS占位程序和PE特征30
3.1.2 COFF头30
3.1.3 PE头32
3.1.4 区域头36
3.2.1 头结构38
3.2 公共语言运行环境头38
3.2.2 Flags字段39
3.2.3 EntryPointToken字段40
3.2.4 VTableFixups字段41
3.2.5 StrongNameSignature字段41
3.3 重定位区域42
3.4 正文区域43
3.5.1 数据常量44
3.5.2 V表44
3.5 数据区域44
3.5.3 非托管导出表45
3.5.4 线程局部存储46
3.6 资源47
3.6.1 非托管资源47
3.6.2 托管资源49
3.7 小结49
4.1 什么是元数据51
第4章 元数据表组织51
4.2 堆和表52
4.2.1 堆52
4.2.2 通用元数据头54
4.2.3 元数据表流55
4.3 RID和标识58
4.3.1 RID58
4.3.2 标识58
4.3.3 编码标识60
4.4 元数据验证62
4.5 小结63
第5章 模块和配件67
5.1 什么是配件67
5.1.1 私有配件和共享配件67
第三部分 基本组件67
5.1.2 作为逻辑执行单元的应用域68
5.2 清单69
5.2.1 配件元数据表和声明70
5.2.2 AssemblyRef元数据表和声明71
5.2.3 加载程序搜索配件73
5.2.6 File元数据表和声明75
5.2.4 Module元数据表和声明75
5.2.5 ModuleRef元数据表和声明75
5.2.7 托管资源元数据和声明76
5.2.8 ExportedType元数据表和声明78
5.3 ILAsm中清单声明的次序79
5.4 单模块配件和多模块配件80
5.5 元数据验证规则81
5.5.1 Assembly表验证规则81
5.5.5 File表验证规则82
5.5.4 ModuleRef表验证规则82
5.5.3 Module表验证规则82
5.5.2 AssemblyRef表验证规则82
5.5.6 ManifestResource表验证规则83
5.5.7 ExportedType表验证规则83
第6章 名称空间和类84
6.1 类元数据85
6.1.1 TypeDef元数据表85
6.1.4 NestedClass元数据表86
6.1.3 InterfaceImpl元数据表86
6.1.2 TypeRef元数据表86
6.1.5 C1assLayout元数据表87
6.2 名称空间和全类名87
6.2.1 ILAsm命名规则87
6.2.2 名称空间88
6.2.3 全类名89
6.3 类属性90
6.3.1 标志90
6.3.3 父类型92
6.3.2 类引用92
6.3.4 接口实现93
6.3.5 类布局信息93
6.4 接口94
6.5 值类型94
6.5.1 装箱值类型和拆箱值类型95
6.5.2 值类型的实例成员95
6.6 枚举96
6.7 委托96
6.5.3 值类型的派生96
6.8 嵌套类型98
6.9 类的扩增100
6.10 元数据验证规则101
6.10.1 TypeDef表的验证规则101
6.10.2 指定枚举的验证规则102
6.10.3 TypeRef表的验证规则103
6.10.4 InterfaceImpl表的验证规则103
6.10.5 NestedClass表的验证规则103
6.10.6 ClassLayout表的验证规则103
7.1.1 基本数据类型104
第7章 基本类型和特征104
7.1 公共语言运行环境中的基本类型104
7.1.2 数据指针类型105
7.1.3 函数指针类型106
7.1.4 向量和数组107
7.1.5 修饰符108
7.1.6 本机类型110
7.1.7 变量类型112
7.2 特征中的类表示113
7.3.2 字段特征114
7.3 特征114
7.3.1 调用约定114
7.3.3 方法和属性特征115
7.3.4 MemberRef特征115
7.3.5 间接调用特征116
7.3.6 局部变量特征116
7.3.7 类型说明117
7.4 特征验证规则117
8.1 字段元数据119
第8章 字段和数据常量119
8.2 实例和静态字段122
8.3 默认值122
8.4 映射字段124
8.5 数据常量声明125
8.6 显式布局和联合声明126
8.7 全局字段128
8.8 构造函数与数据常量130
8.9.1 Field表的验证规则132
8.9 元数据验证规则132
8.9.2 FieldLayout表的验证规则133
8.9.3 FieldRVA表的验证规则133
8.9.4 FieldMarshal表的验证规则133
8.9.5 Constant表的验证规则133
8.9.6 MemberRef表的验证规则133
第9章 方法135
9.1 方法元数据135
9.1.1 方法表记录的记录项135
9.1.2 方法标志136
9.1.4 方法实现标志138
9.1.3 方法名称138
9.1.5 方法参数139
9.1.6 引用方法140
9.1.7 方法实现元数据141
9.2 静态、实例和虚拟方法141
9.3 显式方法重载145
9.4 方法头属性148
9.5 局部变量149
9.7 实例构造函数151
9.6 类构造函数151
9.8 实例的终止函数152
9.9 变量参数列表153
9.10 全局方法155
9.11 元数据验证规则156
9.11.1 Method表验证规则156
9.11.2 Param表验证规则157
9.11.3 MethodImpl表验证规则158
第10章 IL指令161
第四部分 执行引擎剖析161
10.1 长参数和短参数指令162
10.2 标号和流控制指令162
10.2.1 无条件转移指令162
10.2.2 有条件转移指令162
10.2.3 比较转移指令163
10.2.4 switch指令164
10.2.5 break指令164
10.2.6 SEH块退出指令164
10.3 运算指令165
10.3.1 栈控制165
10.2.7 SEH结束指令165
10.2.8 ret指令165
10.3.2 常量加载166
10.3.3 间接加载166
10.3.4 间接存储167
10.3.5 算术操作167
10.3.6 溢出算术操作168
10.3.8 移位操作169
10.3.9 转换操作169
10.3.7 位逻辑运算操作169
10.3.10 溢出转换操作170
10.3.11 逻辑条件检查操作171
10.3.12 块操作171
10.4 寻址参数和局部变量172
10.4.1 方法参数加载172
10.4.2 方法参数地址加载172
10.4.3 方法参数存储172
10.4.7 局部变量存储173
10.4.8 局部块存储单元分配173
10.4.5 局部变量加载173
10.4.6 局部变量引用加载173
10.4.4 方法参数列表173
10.4.9 前缀指令174
10.5 寻址字段174
10.6 调用方法175
10.6.1 直接调用175
10.6.2 间接调用176
10.6.3 尾部调用176
10.7 寻址类和值类型177
10.8 向量指令179
10.8.1 向量创建179
10.8.2 元素地址加载180
10.8.3 元素加载180
10.8.4 元素存储181
10.9 代码验证181
第11章 结构化异常处理183
11.1 SEH子句的内部表示183
11.2 SEH子句的类型184
11.3 SEH子句声明的标号格式185
11.4 SEH子句声明的作用域格式187
11.5 处理异常190
11.6 异常类型191
11.6.1 加载程序异常191
11.6.2 JIT编译器异常192
11.6.3 执行引擎异常192
11.6.4 互操作异常193
11.6.5 子类异常193
11.7 SEH子句结构化规则194
11.6.6 非托管异常映射194
第五部分 特殊组件199
第12章 事件和属性199
12.1 事件和委托199
12.2 事件元数据201
12.2.1 Event表201
12.2.2 EventMap表202
12.2.3 MethodSemantics表202
12.3 事件声明203
12.4 属性元数据205
12.4.1 Property表206
12.4.2 PropertyMap表206
12.5 属性声明206
12.6 元数据验证规则208
12.6.1 Event表的验证规则208
12.6.2 EventMap表的验证规则208
12.6.3 Property表的验证规则208
12.6.5 MethodSemantics表的验证规则209
12.6.4 PropertyMap表的验证规则209
第13章 定制属性210
13.1 定制属性的概念210
13.2 CustomAttribute元数据表211
13.3 定制属性值编码212
13.4 定制属性声明213
13.5 定制属性分类216
13.5.1 执行引擎和JIT编译器217
13.5.2 互操作子系统218
13.5.3 安全219
13.5.4 远程子系统220
13.5.5 Visual Studio .NET调试器221
13.5.6 配件连接器221
13.5.7 公共语言规范(CLS)兼容性221
13.5.8 伪定制属性222
13.6 元数据验证规则223
第14章 安全属性224
14.1 描述性安全224
14.2 描述性操作224
14.3.1 访问许可权限226
14.3 安全许可权限226
14.3.2 身份许可权限229
14.3.3 定制许可权限230
14.3.4 许可权限集232
14.4 描述性安全元数据232
14.5 安全属性声明233
14.6 元数据验证规则234
15.1 替换程序和包装器237
第15章 托管和非托管代码的互操作237
第六部分 互操作性237
15.1.1 P/Invoke替换程序238
15.1.2 实现映射元数据和验证规则239
15.1.3 IJW替换程序239
15.1.4 COM可调用包装器240
15.1.5 运行时可调用包装器241
15.2 数据编组242
15.2.1 blittable类型243
15.2.2 in/out参数243
15.2.3 字符串编组244
15.2.4 对象编组245
15.2.5 类的编组246
15.2.6 数组编组246
15.2.7 委托的编组247
15.3 为非托管方法提供托管方法作为回调247
15.4 作为非托管输出的托管方法251
第16章 多语言工程257
16.1 IL反汇编器257
16.2 双向解析的原则260
16.4 使用类的增强261
16.3 创造性的双向解析261
16.5 通过双向解析进行模块连接262
16.6 调试模式中的编译263
第七部分 附录271
附录A IL Assembler语法271
附录B 元数据表285
附录C IL指令集294
附录D IL Assembler和IL Disassembler的命令行选项302
附录E 离线验证工具306