通用中间语言 (CIL) 怎么学习?

刚下载它的压缩文件,但是无从下手
关注者
170
被浏览
5544
CIL(Common Intermediate Language),又名MSIL(Microsoft Intermediate Language),是CLI(Common Language Infrastructure)所使用的中间语言。

要学习CIL可以做实验:先用C#写些实验程序,用csc编译为.NET Assembly之后用ildasm解成MSIL。这样可以很快熟悉C#或其它.NET语言的语言结构到MSIL的映射。这样得到的MSIL可以通过ilasm再汇编为.NET Assembly,这样round-trip能力非常强大。

这样做实验的缺点是:MSIL的语言能力比.NET上常见的高级语言所能表达的能力要大,所以从C#之类的语言生成的MSIL只能用到合法的MSIL的一部分能力,而没用到全部。不过这“一部分”也已经是很大的部分了,够用。

然后也可以读读书。有好几本专门讲MSIL的书,例如这本:Expert .NET 2.0 IL Assembler (豆瓣)

当然,学习CIL必备的参考资料是它的规范:ECMA-335 ecma-international.org/