再读《Microsoft .NET IL汇编语言程序设计》
作者:lover_P
《Microsoft .NET IL汇编语言程序设计》(以下简称《IL》)一书中文版已经出版了一年有余了,在计算机界,这已经算是一本“老书”了。时至今日我还要提到它,是因为它对于研究.NET元数据世界秘密的贡献要远远超过对于学习IL汇编语言程序设计的贡献。
对于任何平台,我都有着非凡的好奇心——对于微软的.NET平台也不例外,因此,我早早地买回了《IL》一书。通篇浏览下来,作者除了在第一、二两章里分别讲述了两个完整的IL汇编程序之外,一直到页码过半,才在第10章中重新谈起IL指令集——然而谈过一章之后,竟又回到感念性叙述,丝毫未见“程序设计”的影子……想来那些有着汇编语言和面向对象高级语言程序设计经验的朋友才有可能通过前两章的小程序和第10章里介绍的指令学会编写高效、漂亮的IL汇编语言程序吧?看着封底上的作者简介,我不由得感叹:这位大师技术却是了得,然而作起文章来就不那么灵通了。于是,这本书被我丢进了书架的角落。
然而,我从未停止过对好奇心的满足,我开始深入到.NET元数据的内部一窥究竟。这种日子是寂寞和痛苦的,参考资料的缺乏、数据结构的错综复杂经常让我陷入困境、一筹莫展。这使得我再一次翻开了《IL》这本书。然而,呈现在我眼前的不再是零零散散的汇编语言介绍和不着边际的论述,在一阵目瞪口呆过后,我的心情惟有豁然开朗以形容!
在介绍完简单的程序之后,作者揭开了.NET托管扩展的PE文件格式的秘密——这就是.NET元数据迷宫的入口啊。