《.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 关键字那样表示类的当前实例,而后面的“是不对的”应该删除。
待续...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述