学习 CIL (MSIL) 的最佳资源是什么

发布于 2024-07-06 02:45:03 字数 138 浏览 8 评论 0原文

我是一名专家 C# 3 / .NET 3.5 程序员,希望开始使用 System.Reflection.Emit.DynamicMethod 进行一些运行时代码生成。 我很想通过熟悉 IL 来提升到一个新的水平。

有什么指示吗(双关语)?

I'm an expert C# 3 / .NET 3.5 programmer looking to start doing some runtime codegen using System.Reflection.Emit.DynamicMethod. I'd love to move up to the next level by becoming intimately familiar with IL.

Any pointers (pun intended)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

阿楠 2024-07-13 02:45:03

专家 .NET 2.0 IL 汇编器。 虽然这本书现在可能有点过时了,这对我来说仍然是一个很好的概述。

Expert .NET 2.0 IL Assembler. Although this book may be a little dated now, it was still a great overview for me.

神仙妹妹 2024-07-13 02:45:03

除了达伦的回答之外,我建议选择或发明一种玩具语言,并为其编写一个简单的编译器。 选择一些需要很少解析的东西,比如 BF 或基于堆栈的语言,你会发现编写编译器实际上比看起来更简单。

In addition to Darren's answer, I'd suggest picking or inventing a toy language, and writing a simple compiler for it. Pick something that requires little parsing, like BF or a stack-based language, and you'll find that writing a compiler is actually simpler than it seems.

心不设防 2024-07-13 02:45:03

学习它的最好方法是写一些你理解的东西,然后查看它创建的 IL。 另外,根据您在做什么,您可以使用表达式树而不是发出 IL,然后当您编译表达式树时,微软的那些聪明人会为您创建 IL。

The best way to learn it, is to write something you understand, then look at the IL it created. Also, depending on what you are doing, you can use expression trees instead of emitting IL, and then when you compile the expression trees, those smart guys at microsoft create the IL for ya.

梦萦几度 2024-07-13 02:45:03

.NET Reflector 非常适合检查 C#/VB 生成的 IL。网。

这是一个很棒的学习工具。

.NET Reflector is great for examining the IL produced by C#/VB.NET.

It's a wonderful learning tool.

天气好吗我好吗 2024-07-13 02:45:03

ECMA 335 规范可在此处免费下载:
http://www.ecma-international.org/publications/standards/Ecma -335.htm

分区 III 与处理 MSIL 最相关,但我强烈推荐所有 .NET 开发人员使用分区 I,因为它将极大地巩固对平台的理解。

The ECMA 335 specification is freely available for download here:
http://www.ecma-international.org/publications/standards/Ecma-335.htm

Partition III is the most relevant for dealing with MSIL, but I'd strongly recommend partition I as well for any .NET developer as it will greatly solidify understanding of the platform.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文