什么是学习CIL最好的资源(MSIL)(What are the best resources fo

2019-08-17 20:07发布

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

任何指针(双关语意)?

Answer 1:

学习它的最好方法,就是写你了解的东西,然后看它创造了IL。 此外,这取决于你在做什么,你可以使用表达式树,而不是发射IL,然后当你编译表达式树,在微软的那些聪明的家伙创造IL雅。



Answer 2:

除了达伦的答案,我会建议挑选或发明一种玩具语言,写一个简单的编译器吧。 挑东西,只需要很少的解析,像BF或基于堆栈的语言,你会发现,编写编译器实际上是简单的比它似乎。



Answer 3:

.net反射是非常适合检查由C#/ VB.NET产生的IL。

这是一个极好的学习工具。



Answer 4:

该ECMA 335规范可在这里下载: http://www.ecma-international.org/publications/standards/Ecma-335.htm

分区III是最相关的处理MSIL,但我强烈建议分区我以及任何.NET开发人员,因为这将极大地巩固了平台的理解。



Answer 5:

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



文章来源: What are the best resources for learning CIL (MSIL)