图书介绍

.NET探秘 MSIL权威指南PDF|Epub|txt|kindle电子书版本网盘下载

.NET探秘 MSIL权威指南
  • SergeLidin编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115201768
  • 出版时间:2009
  • 标注页数:421页
  • 文件大小:37MB
  • 文件页数:437页
  • 主题词:软件工具-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

.NET探秘 MSIL权威指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 快速入门2

第1章 简单示例2

1.1 CLR基础2

1.2简单示例:The Code5

1.2.1程序头7

1.2.2类声明8

1.2.3字段声明9

1.2.4方法声明10

1.2.5全局项14

1.2.6映射字段16

1.2.7数据声明16

1.2.8作为占位符的值类型17

1.2.9调用非托管代码17

1.3类的预先声明18

1.4小结20

第2章 代码增强21

2.1精简代码21

2.2保护代码23

2.3小结28

第3章 使代码更简单29

3.1别名29

3.2编译控制伪指令31

3.3关联当前类及其引用项34

3.4小结35

第二部分 底层结构38

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

4.1 PE/COFF头39

4.1.1 MS-DOS头/Stub和PE签名40

4.1.2 COFF头40

4.1.3 PE头43

4.1.4节头47

4.2 CLR头49

4.2.1头结构50

4.2.2 Flags字段51

4.2.3 EntryPointToken字段52

4.2.4 VTableFixups字段52

4.2.5 StrongNameSignature字段53

4.2.6重定位节53

4.2.7文本节55

4.2.8数据节56

4.2.9数据常量56

4.2.10 V表57

4.2.11非托管导出表57

4.2.12线程局部存储(TLS)59

4.2.13资源60

4.2.14非托管资源60

4.2.15托管资源62

4.3小结63

4.3.1第一阶段:初始化63

4.3.2第二阶段:源代码解析63

4.3.3第三阶段:映像生成63

4.3.4第四阶段:完成64

第5章 元数据表的组织65

5.1什么是元数据65

5.2堆和表67

5.2.1堆67

5.2.2通用元数据头68

5.2.3元数据表流70

5.3 RID和标记73

5.3.1 RID73

5.3.2标记73

5.3.3编码标记75

5.4元数据有效性检查78

5.5小结79

第三部分 基本组件82

第6章 模块和程序集82

6.1什么是程序集82

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

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

6.4清单84

6.5 Assembly元数据表和声明86

6.6 AssemblyRef元数据表和声明87

6.7加载程序搜索程序集89

6.8 Module元数据表和声明92

6.9 ModuleRef元数据表和声明92

6.10 File元数据表和声明93

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

6.12 ExportedTType元数据表和声明97

6.13 ILAsm中清单声明的次序98

6.14单模块程序集和多模块程序集99

6.15 元数据有效性规则概要100

6.15.1 Assembly表有效性规则100

6.15.2 AssemblyRef表有效性规则100

6.15.3 Module表有效性规则101

6.15.4 ModuleRef表有效性规则101

6.15.5 File表有效性规则101

6.15.6 ManifestResource表有效性规则101

6.15.7 ExportedType表有效性规则102

第7章 命名空间和类103

7.1类的元数据104

7.1.1 TypeDef元数据表105

7.1.2 TypeRef元数据表106

7.1.3 InterfaceImpt元数据表106

7.1.4 NestedClass元数据表106

7.1.5 ClassLayout元数据表107

7.2命名空间和类的完整名称107

7.2.1 ILAsm命名约定108

7.2.2命名空间109

7.2.3类的完整名称110

7.3类的特性111

7.3.1标志111

7.3.2类的可见性和友元程序集113

7.3.3类的引用113

7.3.4父类型114

7.3.5接口实现114

7.3.6类的布局信息115

7.4接口115

7.5值类型117

7.5.1值的装箱和拆箱117

7.5.2值类型的实例成员118

7.5.3值类型的派生118

7.6枚举119

7.7委托119

7.8嵌套类型121

7.9类的扩充123

7.10元数据有效性规则概要125

7.10.1 TypeDef表有效性规则125

7.10.2特定于枚举的有效性规则126

7.10.3 TypeRef表有效性规则126

7.10.4 InterfaceImpt表有效性规则126

7.10.5 NestedClass表有效性规则127

7.10.6 ClassLayout表有效性规则127

第8章 基本类型和签名128

8.1 CLR中的基本类型128

8.1.1基本数据类型128

8.1.2数据指针类型129

8.1.3函数指针类型131

8.1.4向量和数组131

8.1.5修饰符133

8.1.6本地类型134

8.1.7可变类型136

8.2签名中类的表示138

8.3签名139

8.3.1调用约定139

8.3.2字段签名139

8.3.3方法和属性签名140

8.3.4 MemberRef签名140

8.3.5间接调用签名141

8.3.6局部变量签名141

8.3.7类型说明142

8.4签名有效性规则概要143

第9章 字段和数据常量144

9.1字段元数据144

9.1.1定义字段145

9.1.2引用字段146

9.2实例字段和静态字段147

9.3默认值147

9.4映射字段150

9.5数据常量声明151

9.6显式布局和联合声明152

9.7全局字段155

9.8构造函数与数据常量156

9.9元数据有效性规则概要158

9.9.1 Field表有效性规则159

9.9.2 FieldLayout表有效性规则159

9.9.3 FieldRVA表有效性规则159

9.9.4 FieldMarshal表有效性规则160

9.9.5 Constant表有效性规则160

9.9.6 MemberRef表有效性规则160

第10章 方法161

10.1方法元数据161

10.1.1 Method表的记录字段162

10.1.2方法标志162

10.1.3方法名称164

10.1.4方法实现标志165

10.1.5方法参数166

10.1.6引用方法167

10.1.7方法实现元数据168

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

10.3显式方法重写172

10.4方法重写和可访问性177

10.5方法头特性178

10.6局部变量180

10.7类的构造函数181

10.7.1类的构造函数和beforefieldinit标志182

10.7.2模块构造函数184

10.8实例构造函数184

10.9实例终结器186

10.10可变参数列表187

10.11方法重载189

10.12全局方法191

10.13元数据有效性规则概要191

10.13.1 Method表有效性规则192

10.13.2 Param表有效性规则193

10.13.3 MethodImpl表有效性规则193

第11章 泛型类型195

11.1泛型类型元数据196

11.1.1 GenericParam元数据表198

11.1.2 GenericParamConstraint元数据表198

11.1.3 TypeSpec元数据表199

11.2约束标志199

11.3在ILAsm中定义泛型类型199

11.4类型参数寻址200

11.5泛型类型实例化201

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

11.7定义泛型类型:循环依赖203

11.8泛型类型的成员205

11.9嵌套泛型类型210

11.10元数据有效性规则概要213

第12章 泛型方法214

12.1泛型方法元数据214

12.2泛型方法签名216

12.3在ILAsm中定义泛型方法216

12.4调用泛型方法217

12.5重写虚泛型方法219

12.6元数据有效性规则概要223

第四部分 深入执行引擎226

第13章 IL指令226

13.1长参数和短参数指令227

13.2标号和流程控制指令227

13.2.1无条件转移指令228

13.2.2有条件转移指令228

13.2.3比较转移指令228

13.2.4 switch指令230

13.2.5 break指令230

13.2.6托管EH块退出指令230

13.2.7托管EH块结束指令231

13.2.8 ret指令231

13.3运算指令231

13.3.1栈处理231

13.3.2常量加载232

13.3.3间接加载233

13.3.4间接存储233

13.3.5算术操作234

13.3.6溢出算术操作235

13.3.7位操作236

13.3.8移位操作236

13.3.9转换操作237

13.3.10溢出转换操作238

13.3.11逻辑条件检查指令238

13.3.12块操作239

13.4寻址参数和局部变量239

13.4.1方法参数加载239

13.4.2方法参数地址加载240

13.4.3方法参数存储240

13.4.4方法参数列表240

13.4.5局部变量加载240

13.4.6局部变量引用加载241

13.4.7局部变量存储241

13.4.8局部块分配241

13.4.9前缀指令241

13.5寻址字段242

13.6调用方法243

13.6.1直接调用243

13.6.2间接调用244

13.6.3尾部调用245

13.6.4带约束的虚调用246

13.7寻址类和值类型247

13.8向量指令250

13.8.1向量创建250

13.8.2元素地址加载251

13.8.3元素加载251

13.8.4元素存储252

13.9代码可验证性252

第14章 托管异常处理255

14.1 EH子句的内部表示255

14.2 EH子句的类型256

14.3 EH子句声明的标号格式258

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

14.5处理异常262

14.6异常类型264

14.6.1加载程序异常264

14.6.2 JIT编译器异常264

14.6.3执行引擎异常265

14.6.4互操作异常266

14.6.5子类异常266

14.6.6非托管异常映射266

14.7 EH子句结构化规则概要267

第五部分 特殊组件270

第15章 事件和属性270

15.1事件和委托270

15.2事件元数据273

15.2.1 Event表273

15.2.2 EventMap表274

15.2.3 MethodSemantics表274

15.3事件声明275

15.4属性元数据277

15.4.1 Property表278

15.4.2 PropertyMap表279

15.5属性声明279

15.6元数据有效性规则概要280

15.6.1 Event表有效性规则280

15.6.2 EventMap表有效性规则281

15.6.3 Property表有效性规则281

15.6.4 PropertyMap表有效性规则281

15.6.5 MethodSemantics表有效性规则281

第16章 自定义特性283

16.1自定义特性的概念283

16.2 CustornAttribute元数据表284

16.3自定义特性的值编码285

16.4自定义特性的逐字描述287

16.5自定义特性声明288

16.6自定义特性的分类291

16.6.1执行引擎和JIT编译器292

16.6.2互操作子系统293

16.6.3安全295

16.6.4 Remoting子系统296

16.6.5 Visual Studio调试器297

16.6.6程序集链接器297

16.6.7公共语言规范(CLS)兼容性298

16.6.8伪自定义特性298

16.7元数据有效性规则概要300

第17章 安全特性301

17.1声明性安全301

17.2声明性操作302

17.3安全许可权限303

17.3.1访问许可权限303

17.3.2身份许可权限306

17.3.3自定义许可权限308

17.3.4许可权限集309

17.4声明性安全元数据310

17.5许可权限集的Blob编码311

17.6安全特性声明311

17.7元数据有效性规则概要312

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

18.1Thunk和包装器315

18.1.1 P/Invoke Thunk315

18.1.2实现映射元数据317

18.1.3 IJW Thunk317

18.1.4 COM可调用包装器318

18.1.5运行时可调用包装器319

18.2数据封送320

18.2.1 blittable类型320

18.2.2 in/out参数321

18.2.3字符串封送322

18.2.4对象封送323

18.2.5更多对象封送324

18.2.6数组封送325

18.2.7委托封送325

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

18.4作为非托管导出的托管方法328

18.5小结334

第19章 多语言工程336

19.1 IL反汇编器336

19.2双向解析的原则340

19.3创造性的双向解析341

19.4使用类的扩充342

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

19.6 ASMMETA:解决循环依赖344

19.7内嵌在高级语言中的IL346

19.8在调试模式下编译347

19.9小结352

第六部分 附录356

附录A ILAsm语法356

附录B 元数据表376

附录C IL指令集387

附录D IL汇编器和IL反汇编器的命令行选项394

附录E 离线验证工具399

部分术语翻译说明416

热门推荐