.NET 探秘:MSIL权威指南(MSIL唯一权威指南,Amazon五星巨著)
基本信息
- 原书名: Expert .NET 2.0 IL Assembler
- 原出版社: Apress
- 作者: (加)Serge Lidin [作译者介绍]
- 译者: 包建强
- 丛书名: 图灵程序设计丛书 C#与.NET系列
- 出版社:人民邮电出版社
- ISBN:9787115201768
- 上架时间:2009-9-18
- 出版日期:2009 年9月
- 开本:16开
- 页码:421
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > .NET > 综合
编辑推荐
深入洞悉.NET技术内幕.
MSIL唯一权威指南,Amazon五星巨著..
学习和参考皆宜...
内容简介回到顶部↑
.net框架已经是微软技术的核心平台,但是,对于许多开发人员而言,.net框架仍然是黑盒子,遇到各种实际的性能、调试等问题时很容易让人陷入不知所措的境地。.
本书由微软资深工程师、msil语言设计者之一撰写,详尽而深入地讨论了.net clr的内部结构和运作,首次阐述了msil语言的方方面面,是极为宝贵的.net技术资料。通过研读本书,你将大大加深自己对.net框架的理解,从而开发出更加紧凑、更高性能的.net代码。..
本书是il汇编语言的权威之作,深入地讲解了il的全部内容,是.net底层开发人员必备的参考书,对于从概念设计到实现和维护等软件开发所有阶段都很有价值。本书内容基于.net 2.0版本,同时,考虑到.net 3.0/3.5在clr/il上没有作任何改动,且即将推出的.net 4.0也只是在clr上稍作修改而并没有涉及il语言,所以,本书对于目前各个版本的.net framework而言都是适用的。
本书适合所有.net开发人员、讲师、研究人员阅读。...
本书由微软资深工程师、msil语言设计者之一撰写,详尽而深入地讨论了.net clr的内部结构和运作,首次阐述了msil语言的方方面面,是极为宝贵的.net技术资料。通过研读本书,你将大大加深自己对.net框架的理解,从而开发出更加紧凑、更高性能的.net代码。..
本书是il汇编语言的权威之作,深入地讲解了il的全部内容,是.net底层开发人员必备的参考书,对于从概念设计到实现和维护等软件开发所有阶段都很有价值。本书内容基于.net 2.0版本,同时,考虑到.net 3.0/3.5在clr/il上没有作任何改动,且即将推出的.net 4.0也只是在clr上稍作修改而并没有涉及il语言,所以,本书对于目前各个版本的.net framework而言都是适用的。
本书适合所有.net开发人员、讲师、研究人员阅读。...
作译者回到顶部↑
本书提供作译者介绍
Serge Lidin 曾是.NET CLR小组核心开发人员之一,是MSIL语言的设计者以及该语言规范的作者之一,负责设计并开发了IL汇编器、IL反汇编器等核心组件。目前任职于微软 Phoenix小组,开发新一代编译技术底层框架。...
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第一部分 快 速 入 门.
第1章 简单示例 2
1.1 clr基础 2
1.2 简单示例:the code 5
1.2.1 程序头 7
1.2.2 类声明 8
1.2.3 字段声明 9
1.2.4 方法声明 10
1.2.5 全局项 14
1.2.6 映射字段 16
1.2.7 数据声明 16
1.2.8 作为占位符的值类型 17
1.2.9 调用非托管代码 17
1.3 类的预先声明 18
1.4 小结 20
第2章 代码增强 21
2.1 精简代码 21
2.2 保护代码 23
2.3 小结 28
第3章 使代码更简单 29
第1章 简单示例 2
1.1 clr基础 2
1.2 简单示例:the code 5
1.2.1 程序头 7
1.2.2 类声明 8
1.2.3 字段声明 9
1.2.4 方法声明 10
1.2.5 全局项 14
1.2.6 映射字段 16
1.2.7 数据声明 16
1.2.8 作为占位符的值类型 17
1.2.9 调用非托管代码 17
1.3 类的预先声明 18
1.4 小结 20
第2章 代码增强 21
2.1 精简代码 21
2.2 保护代码 23
2.3 小结 28
第3章 使代码更简单 29
译者序回到顶部↑
不要惊讶,坐在你面前娓娓而谈的,并不是一个技术Geek,而是流连于淮海路迤逦风光的性情中人。编程只是我诸多业余爱好中的一项。当然,有时会稍微热情些,比如说,从狄更斯的《双城记》中能联想到设计模式的精华。.
一直在酝酿一篇有些不同的序言,即开头没有诸多名人的溢美之词,结尾也没有感谢父母家人的肺腑之言,我只想谈一谈阅读本书时所要注意的问题,以及本书的不足之处。
作者Serge Lidin是位慈眉善目的老伯,我们曾坐在微软总部的长椅上攀谈良久。他曾经是微软IL小组的成员,所写的内容都是第一手资料,所以写起本书来当仁不让,章节划分相当合理。但是,正如作者所说,他不善笔墨,所以本书读起来非常枯燥。当然,CLR底层本身就是非常枯燥的,要把它写得精彩生动,很难做到。除非借助C#来讲解IL和元数据,才会吸引人,如某位印度作家编著的C# to IL。建议大家先去阅读后面这本书,它只是基于.NET 1.1的,没有涉及泛型,内容没有前者丰富,但是,它要简单得多。
言归正传。本书是学习和研究IL和元数据的首选图书,它可以作为一本技术参考手册,睡觉前翻翻也是不错的。本书并没有介绍任何IL性能调优的方法,而这正是开发人员所关心的,这不能不说是一个遗憾。
IL和元数据,也就是PE结构体,是静态的内容。对于运行期间的动态执行过程,完全不是这么回事。本书没有涉及后面这部分内容,毕竟,这超出了本书的范围。有兴趣的读者可以去研究Rotor,可以参考Shared Source CLI Essentials一书。
作者非常认真负责。我们书信往来半年之久,修正了原书中的一些错误。同时,统一了.NET和汇编语言中的中文术语,其中,参考了侯捷先生和李建忠先生译作中的诸多神来之笔。此外,还在字里行间添加了大量的译注,有助于读者理解。
本书分为六个部分共19章。第1章~第3章是对IL语言的一个快速入门,通过一个IL小程序对这门技术进行快速的概览,强烈建议读者首先阅读这一部分,根据理解的层次以决定是否继续研读下去。第4章是全书中最乏味的一章(至少我是这么认为的,在翻译的过程中异常痛苦),毕竟PE文件头和CLR头的概念并不常见。第5章是元数据概览,这是全书的核心。接下来第6章~第12章,以及第15章~第17章是对所有45个元数据的详细介绍,是全书的精华所在。第13章是IL语句的集大成之作,可以作为参考手册日常查阅,不建议读者一页页学习。第14章则深入浅出地介绍了IL中的异常处理机制,非常重要。第18章是写给从事COM互操作的技术人员的,对于只专注于.NET平台的朋友,可以略过这一章。第19章,也就是双向解析,老实说,我是觉得意义不大,当然这要看领域里了,对于那些从事.NET性能调优的朋友,这一章还是有很大参考价值的。5个附录都极具参考价值,建议你把附录部分独立装订成册常备案头。请不要嫌我啰嗦,要有选择地阅读本书。..
如果你还是一位.NET新手,还是把它放回到书架上吧,3年之内你应该不会使用到这些技术。5年之后呢?那也未必。你起码要阅读一遍《深入理解.NET》 或者《.NET本质论》。否则,本书就是你噩梦的开始,轻则迷惘不前,重则走火入魔,甚至结束程序员的生涯。好吧,没那么夸张啦,但副作用还是有一点的。然而,即使你的修为达到了上述要求,在阅读本书时也要摆脱高级语言(如C#)的束缚,而重新建立一套CLR世界中的逻辑体系。“万物皆标记”,什么时候读者能领悟到这一层面,也就到达“庖丁解牛”的境界了。
是不是显得有些悲观了?好吧,下面说一点振奋人心的言语。
由于本书内容非常偏门,以至于国内出版社少有问津,非常感谢图灵公司能将其引进国内。我在翻译期间,参考了国内外大量有价值的关于IL的技术博客。
国外有:
Vijay Mukhi的博客:http://www.vijaymukhi.com/documents/books/。这就是我前面提到的那位印度作家的网站,上面有3本他参与编写的IL图书的电子版。
C# to IL,对应子目录ilbook,这是最好的一本,可惜是1.1版本的。
Metadata,对应子目录metadata,说的是如何用C#语法解读dll或exe文件。
IL Disassembler,对应子目录ildasm。
国内有:
Anders Liu(刘彦博)的博客:http://www.cnblogs.com/andersliu。他的最有名的文章莫过于《透过IL看C#》系列。
装配脑袋(施凡)的博客:http://www.cnblogs.com/ninputer。他在CLR上造诣极深,甚至自己编写新的.NET语言编译器,最喜欢VB.NET语言。
Filer Lu(卢小海)的博客:http://www.cnblogs.com/flier。他是研究IL的先驱,他发表的最著名的文章是2001~2002年间在绿盟和程序员杂志上的《MS.NET CLR扩展PE结构分析》系列。
综上所述,国内在IL这方面的沉淀已经很深了,完全可以原创出一本通俗易懂且又博大精深的IL图书。让我们拭目以待,将IL进行到底。我很有信心。 ...
一直在酝酿一篇有些不同的序言,即开头没有诸多名人的溢美之词,结尾也没有感谢父母家人的肺腑之言,我只想谈一谈阅读本书时所要注意的问题,以及本书的不足之处。
作者Serge Lidin是位慈眉善目的老伯,我们曾坐在微软总部的长椅上攀谈良久。他曾经是微软IL小组的成员,所写的内容都是第一手资料,所以写起本书来当仁不让,章节划分相当合理。但是,正如作者所说,他不善笔墨,所以本书读起来非常枯燥。当然,CLR底层本身就是非常枯燥的,要把它写得精彩生动,很难做到。除非借助C#来讲解IL和元数据,才会吸引人,如某位印度作家编著的C# to IL。建议大家先去阅读后面这本书,它只是基于.NET 1.1的,没有涉及泛型,内容没有前者丰富,但是,它要简单得多。
言归正传。本书是学习和研究IL和元数据的首选图书,它可以作为一本技术参考手册,睡觉前翻翻也是不错的。本书并没有介绍任何IL性能调优的方法,而这正是开发人员所关心的,这不能不说是一个遗憾。
IL和元数据,也就是PE结构体,是静态的内容。对于运行期间的动态执行过程,完全不是这么回事。本书没有涉及后面这部分内容,毕竟,这超出了本书的范围。有兴趣的读者可以去研究Rotor,可以参考Shared Source CLI Essentials一书。
作者非常认真负责。我们书信往来半年之久,修正了原书中的一些错误。同时,统一了.NET和汇编语言中的中文术语,其中,参考了侯捷先生和李建忠先生译作中的诸多神来之笔。此外,还在字里行间添加了大量的译注,有助于读者理解。
本书分为六个部分共19章。第1章~第3章是对IL语言的一个快速入门,通过一个IL小程序对这门技术进行快速的概览,强烈建议读者首先阅读这一部分,根据理解的层次以决定是否继续研读下去。第4章是全书中最乏味的一章(至少我是这么认为的,在翻译的过程中异常痛苦),毕竟PE文件头和CLR头的概念并不常见。第5章是元数据概览,这是全书的核心。接下来第6章~第12章,以及第15章~第17章是对所有45个元数据的详细介绍,是全书的精华所在。第13章是IL语句的集大成之作,可以作为参考手册日常查阅,不建议读者一页页学习。第14章则深入浅出地介绍了IL中的异常处理机制,非常重要。第18章是写给从事COM互操作的技术人员的,对于只专注于.NET平台的朋友,可以略过这一章。第19章,也就是双向解析,老实说,我是觉得意义不大,当然这要看领域里了,对于那些从事.NET性能调优的朋友,这一章还是有很大参考价值的。5个附录都极具参考价值,建议你把附录部分独立装订成册常备案头。请不要嫌我啰嗦,要有选择地阅读本书。..
如果你还是一位.NET新手,还是把它放回到书架上吧,3年之内你应该不会使用到这些技术。5年之后呢?那也未必。你起码要阅读一遍《深入理解.NET》 或者《.NET本质论》。否则,本书就是你噩梦的开始,轻则迷惘不前,重则走火入魔,甚至结束程序员的生涯。好吧,没那么夸张啦,但副作用还是有一点的。然而,即使你的修为达到了上述要求,在阅读本书时也要摆脱高级语言(如C#)的束缚,而重新建立一套CLR世界中的逻辑体系。“万物皆标记”,什么时候读者能领悟到这一层面,也就到达“庖丁解牛”的境界了。
是不是显得有些悲观了?好吧,下面说一点振奋人心的言语。
由于本书内容非常偏门,以至于国内出版社少有问津,非常感谢图灵公司能将其引进国内。我在翻译期间,参考了国内外大量有价值的关于IL的技术博客。
国外有:
Vijay Mukhi的博客:http://www.vijaymukhi.com/documents/books/。这就是我前面提到的那位印度作家的网站,上面有3本他参与编写的IL图书的电子版。
C# to IL,对应子目录ilbook,这是最好的一本,可惜是1.1版本的。
Metadata,对应子目录metadata,说的是如何用C#语法解读dll或exe文件。
IL Disassembler,对应子目录ildasm。
国内有:
Anders Liu(刘彦博)的博客:http://www.cnblogs.com/andersliu。他的最有名的文章莫过于《透过IL看C#》系列。
装配脑袋(施凡)的博客:http://www.cnblogs.com/ninputer。他在CLR上造诣极深,甚至自己编写新的.NET语言编译器,最喜欢VB.NET语言。
Filer Lu(卢小海)的博客:http://www.cnblogs.com/flier。他是研究IL的先驱,他发表的最著名的文章是2001~2002年间在绿盟和程序员杂志上的《MS.NET CLR扩展PE结构分析》系列。
综上所述,国内在IL这方面的沉淀已经很深了,完全可以原创出一本通俗易懂且又博大精深的IL图书。让我们拭目以待,将IL进行到底。我很有信心。 ...
前言回到顶部↑
为什么要写这本书呢?.
说实话,对此,我是责无旁贷的。这本书是我早期写的一本书——Inside Microsoft .NET IL Assembler(图书上市于2002年初,在.NET CLI 1.0版本发布1个月后)的修订和扩展。因此,时隔4年多,更加强大的.NET CLI 2.0版本公布之际,我的创作意图就显而易见了。而且,必须有人来写一本.NET CLI的内部工作原理的书,我只能当仁不让了。
.NET领域与其他信息技术领域类似,如同一个巨大的倒金字塔,根植于一种底层核心技术之上。.NET领域所依赖的底层就是CLR。CLR将IL二进制代码转换为特定于平台(本地)的机器代码来执行。位于CLR之上的是.NET Framework类库、编译器以及像Visual Studio这样的集成开发环境,再住上才是从工具到面向终端用户的应用开发层。这个金字塔正在迅速地向上蔓延,愈高而弥宽。
准确地说,这本书并不是关于CLR的。虽然CLR只是.NET这座金字塔的底层核心技术,但是CLR主题是如此庞大,以至于不可能在一本书的篇幅内对其进行详细描述。本书着重讨论另一个重要的主题:.NET IL汇编语言(ILAsm)。IL汇编语言是一门低级语言,专门用于描述CLR的各种特性。只要CLR具有某种特性,ILAsm就必须能够对其进行表述。
ILAsm不同于高级语言而类似于其他汇编语言,它是平台驱动而非概念驱动的。一门汇编语言通常会与底层平台之间存在精确的语言映射,对于ILAsm而言,这个底层平台就是CLR。事实上,这是一种非常精确的映射,甚至可以用这种语言来描述ECMA/ISO标准化文档中涉及.NET CLI运行环境的各个方面(ILAsm本身作为CLI的一部分,也是这个标准化文档的一个主题)。由于这种紧密的映射,如果不涉及底层平台的大量细节,也就不可能描述相应的汇编语言。所以,从很大程度上讲,这本书归根到底还是关于CLR的。
IL汇编语言在.NET开发者中非常流行。我并不是说所有的.NET开发者都更喜欢使用ILAsm编程,而不喜欢使用Visual C++/CLI、C#或者Visual Basic.NET。但是所有的.NET开发者都或多或少使用过IL反汇编器,而且许多人还会经常使用它。无论.NET开发者所偏好的语言和从事的开发领域是什么,在他们的计算机屏幕上都会有一道青色的闪电(IL反汇编器的图标)。而IL反汇编器的文本输出正是ILAsm源代码。
事实上所有基于.NET编程的书籍,只要是专注于高级编程语言的,如C#或者Visual Basic,或者是ADO.NET这样的技术,都会在有些时候提到IL反汇编器,把它作为一种可选的反汇编工具,用来分析.NET托管可执行程序的内部情况。但是这些书籍都没有充分说明这些反汇编文本的含义以及如何解释它们。对这些书籍来说,这种选择是可以理解的,因为对元数据结构和IL汇编语言的详细描述是另外一个独立的话题。
现在,读者可能已经明白我责无旁贷写作此书的意义了。必须有人来承担这个任务,而我既然负责设计和开发IL汇编器以及IL反汇编器,就有义务善始善终地展示这些技术。
ILAsm的历史
IL汇编器和IL反汇编器的第1个版本(分别名为Asm和DASM)由Jonathan Forbes在1998年初开发成功。当前的语言与它最初的形式已经有了很大的差异,二者所具有的唯一显著的共性就是伪指令关键字中的前导点号。这些汇编器和反汇编器最初是作为纯粹的内部工具而构建的,方便了正在进行的CLR开发,它们在CLR开发小组中得到了相当广泛的使用。
1999年初,Jonathan离开了CLR团队,把这些汇编器和反汇编器都交给了Larry Sullivan,Larry所领导的开发团队有一个很有意思的名字:CROEDT(Common Runtime Odds and Ends Development Team)。在那一年的4月,我加入了这个团队,Larry把这些汇编器和反汇编器转交给了我。当1999年5月CLR的alpha版本出现在技术预览会上的时候,这些汇编器和反汇编器引起了人们极大的关注,随后公司要求我改进这个工具,将其发展到产品的水平。在Larry、Vance Morrison和Jim Miller的帮助下,我完成了这项工作。因为这些工具当时还只是内部组件,所以我们(Larry、Vance、Jim和我)从根本上对这个语言进行了重新设计——并不是只将其作为工具实现。
主要的突破发生在1999年的下半年,当时IL汇编器的输入和IL反汇编器的输出已经可以实现足够的同步,进而可以获得有限的双向解析(round-tripping)。双向解析意味着用户可以获得由特定语言编译的托管(IL)可执行程序,对其进行反汇编、增加或者修改一些ILAsm代码,然后将其重新汇编到经过修改的可执行程序中。双向解析技术开创了新纪元,此后不久,它就开始应用于微软及其合作伙伴的特定产品的开发过程中。
大约在同一时期,使用ILAsm作为基本语言的第三方.NET编译器也已经开始出现。人所共知的可能就是富士通的NetCOBOL,它在2000年7月的专业开发者会议上大出风头,这次会议向开发者们发布了最初的CLR的pre-beta版本并附带.NET Framework类库、编译器和工具。
自从2000年底beta 1版本发布以来,IL汇编器和IL反汇编器的功能日渐完善,它们已经可以反映元数据和IL的所有特性,支持完整的双向解析,而且能够将自身的改变与CLR的改变保持同步。
ILAsm的推进
现如今IL汇编器越来越多地应用于编译器和工具实现、教育以及学术研究。以下这些编译器,既有纯学术项目又有工业强度 系统,均生成ILAsm代码作为输出,并让IL汇编器负责产生托管的可执行体。
Ada#(科罗拉多美国空军研究院)
Alice.NET(德国萨尔布吕肯州萨尔兰德大学)
Boo(codehaus.org)
NetCOBOL(富士通公司)
说实话,对此,我是责无旁贷的。这本书是我早期写的一本书——Inside Microsoft .NET IL Assembler(图书上市于2002年初,在.NET CLI 1.0版本发布1个月后)的修订和扩展。因此,时隔4年多,更加强大的.NET CLI 2.0版本公布之际,我的创作意图就显而易见了。而且,必须有人来写一本.NET CLI的内部工作原理的书,我只能当仁不让了。
.NET领域与其他信息技术领域类似,如同一个巨大的倒金字塔,根植于一种底层核心技术之上。.NET领域所依赖的底层就是CLR。CLR将IL二进制代码转换为特定于平台(本地)的机器代码来执行。位于CLR之上的是.NET Framework类库、编译器以及像Visual Studio这样的集成开发环境,再住上才是从工具到面向终端用户的应用开发层。这个金字塔正在迅速地向上蔓延,愈高而弥宽。
准确地说,这本书并不是关于CLR的。虽然CLR只是.NET这座金字塔的底层核心技术,但是CLR主题是如此庞大,以至于不可能在一本书的篇幅内对其进行详细描述。本书着重讨论另一个重要的主题:.NET IL汇编语言(ILAsm)。IL汇编语言是一门低级语言,专门用于描述CLR的各种特性。只要CLR具有某种特性,ILAsm就必须能够对其进行表述。
ILAsm不同于高级语言而类似于其他汇编语言,它是平台驱动而非概念驱动的。一门汇编语言通常会与底层平台之间存在精确的语言映射,对于ILAsm而言,这个底层平台就是CLR。事实上,这是一种非常精确的映射,甚至可以用这种语言来描述ECMA/ISO标准化文档中涉及.NET CLI运行环境的各个方面(ILAsm本身作为CLI的一部分,也是这个标准化文档的一个主题)。由于这种紧密的映射,如果不涉及底层平台的大量细节,也就不可能描述相应的汇编语言。所以,从很大程度上讲,这本书归根到底还是关于CLR的。
IL汇编语言在.NET开发者中非常流行。我并不是说所有的.NET开发者都更喜欢使用ILAsm编程,而不喜欢使用Visual C++/CLI、C#或者Visual Basic.NET。但是所有的.NET开发者都或多或少使用过IL反汇编器,而且许多人还会经常使用它。无论.NET开发者所偏好的语言和从事的开发领域是什么,在他们的计算机屏幕上都会有一道青色的闪电(IL反汇编器的图标)。而IL反汇编器的文本输出正是ILAsm源代码。
事实上所有基于.NET编程的书籍,只要是专注于高级编程语言的,如C#或者Visual Basic,或者是ADO.NET这样的技术,都会在有些时候提到IL反汇编器,把它作为一种可选的反汇编工具,用来分析.NET托管可执行程序的内部情况。但是这些书籍都没有充分说明这些反汇编文本的含义以及如何解释它们。对这些书籍来说,这种选择是可以理解的,因为对元数据结构和IL汇编语言的详细描述是另外一个独立的话题。
现在,读者可能已经明白我责无旁贷写作此书的意义了。必须有人来承担这个任务,而我既然负责设计和开发IL汇编器以及IL反汇编器,就有义务善始善终地展示这些技术。
ILAsm的历史
IL汇编器和IL反汇编器的第1个版本(分别名为Asm和DASM)由Jonathan Forbes在1998年初开发成功。当前的语言与它最初的形式已经有了很大的差异,二者所具有的唯一显著的共性就是伪指令关键字中的前导点号。这些汇编器和反汇编器最初是作为纯粹的内部工具而构建的,方便了正在进行的CLR开发,它们在CLR开发小组中得到了相当广泛的使用。
1999年初,Jonathan离开了CLR团队,把这些汇编器和反汇编器都交给了Larry Sullivan,Larry所领导的开发团队有一个很有意思的名字:CROEDT(Common Runtime Odds and Ends Development Team)。在那一年的4月,我加入了这个团队,Larry把这些汇编器和反汇编器转交给了我。当1999年5月CLR的alpha版本出现在技术预览会上的时候,这些汇编器和反汇编器引起了人们极大的关注,随后公司要求我改进这个工具,将其发展到产品的水平。在Larry、Vance Morrison和Jim Miller的帮助下,我完成了这项工作。因为这些工具当时还只是内部组件,所以我们(Larry、Vance、Jim和我)从根本上对这个语言进行了重新设计——并不是只将其作为工具实现。
主要的突破发生在1999年的下半年,当时IL汇编器的输入和IL反汇编器的输出已经可以实现足够的同步,进而可以获得有限的双向解析(round-tripping)。双向解析意味着用户可以获得由特定语言编译的托管(IL)可执行程序,对其进行反汇编、增加或者修改一些ILAsm代码,然后将其重新汇编到经过修改的可执行程序中。双向解析技术开创了新纪元,此后不久,它就开始应用于微软及其合作伙伴的特定产品的开发过程中。
大约在同一时期,使用ILAsm作为基本语言的第三方.NET编译器也已经开始出现。人所共知的可能就是富士通的NetCOBOL,它在2000年7月的专业开发者会议上大出风头,这次会议向开发者们发布了最初的CLR的pre-beta版本并附带.NET Framework类库、编译器和工具。
自从2000年底beta 1版本发布以来,IL汇编器和IL反汇编器的功能日渐完善,它们已经可以反映元数据和IL的所有特性,支持完整的双向解析,而且能够将自身的改变与CLR的改变保持同步。
ILAsm的推进
现如今IL汇编器越来越多地应用于编译器和工具实现、教育以及学术研究。以下这些编译器,既有纯学术项目又有工业强度 系统,均生成ILAsm代码作为输出,并让IL汇编器负责产生托管的可执行体。
Ada#(科罗拉多美国空军研究院)
Alice.NET(德国萨尔布吕肯州萨尔兰德大学)
Boo(codehaus.org)
NetCOBOL(富士通公司)
媒体评论回到顶部↑
“想真正理解.NET框架的内部机理吗?阅读本书吧。”.
——Gunnar Peipman,微软MVP
“凭借本书和微软的规范、文档,我们编写IL代码生成器是如此美妙过瘾!”
——Robert Salita,资深编译器工程师...
——Gunnar Peipman,微软MVP
“凭借本书和微软的规范、文档,我们编写IL代码生成器是如此美妙过瘾!”
——Robert Salita,资深编译器工程师...
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· InfoQ中文站论坛:.NET讨论区(InfoQ .NET)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· WCF的开山之作 WCF画卷的清明上河图(WCF WF WPF)
· 图灵公司详细书目








点击看大图







加载中...

