《.NET探秘:MSIL权威指南》,[加]Serge Lidin 著,包建强 译,人民邮电出版社,2009年9月第1版
《Expert .NET 2.0 IL Assembler》译者笔记
第1章 简单示例 (第2页至第20页)
上述段落中红色的“结构化异常处理”应该是“托管异常处理”。(请参阅2楼的评论,等我看完“第14章 托管异常处理”之后再说)
似乎应该再加上“方法名称”才能构成 MethodDef 的签名。(请参阅2楼的评论)
应该是: 例如 locals init (int32 Retval, string Tempstr)。。
上述的 Check 应该是 check 。
上述段落中的 "Enter a number" 应该是 "odd!" 。
上述段落中的 P/Inkoke 应该是 P/Invoke (第18页还有三处), Msbcrt.dll 应该是 msvcrt.dll 。
第2章 代码增强 (第21页至第28页)
上述段落中 Simple.il 应该是 Simple1.il 。
最后一行之后应该加上 // CHANGE! 。
上述的 Visual C#.NET 应该是 Visual C# (第24页第一行还有一处),“反编译”应该是“反汇编”,“重新编译”应该是“重新汇编”,最后的逗号应改为句号。
上述的“使用 ldloc Retval 代替 ldloc.0”应该是“指令 lodloc Retval 被 ldloc.0 代替”。
第3章 使代码更简单 (第29页至第35页)
应该是:就在程序头的后面,我定义了类 [mscorlib]System.Console 以及它的方法 WriteLine(string) 的别名。
上述的 MyHeader.dl 应该是 MyHeaderFile.il 。
前面括号的红字应该是:而不像在 C++/C# 中的 this 关键字那样表示类的当前实例,而后面的“是不对的”应该删除。
待续...