Phoenix编译器框架说明

Phoenix框架的构架师Andy Ayers,通过在Channel9上 做的一个视频来设法解释Phoenix编译器框架(Compiler Framework)究竟是什么,以及它是如何工作的。Phoenix不仅仅限于一个编译器,它还是一个软件优化和分析框架,能被其他编译器和工具使用。 它能生成二进制代码,也能输出MSIL程序集。源代码可以经过分析,并被表示为IR(中间表示,Intermediate Representation)形式,这种形式可以在后期被各种工具分析和处理。它的工作方式确实不像一个JIT编译器(JITer,即时编译器)。

与其它编译器相似,Phoenix也把源代码转化为二进制内容。一个主要的区别是,Phoenix将微软所有的编译器(超过25个)聚集成一个,为微软支持的所有语言和平台生成二进制文件或MSIL代码。

一 个绝妙的特性是,Phoenix作为一个框架,包含一些API,同时还是可插接的。人们能使用这些API编写利用Phoenix特性的工具。例如,开发者 可以编写他自己的工具来分析IR文件,并生成一些如何优化源代码的总结。可插接的特性同样会带来极大的方便。Andy说道,微软通常需要1-2年的时间为 新的硬件芯片生成所有的编译器。如今,当芯片上市的时候,硬件制造商能够交付一个Phoenix插件,用来为新芯片编译源代码。

和其它微软的主要编译器一样,Phoenix必须通过Windows、Office、Visual Studio和其他几个庞大产品的编译测试,这些产品可以把编译器推到极限。这样做保证了编译器经受了真实世界、复杂软件的检验,以检查出任何存在其中的Bug。

这个编译器内部支持多线程,这样就能够在基于编译所用的平台上获得更快的构建时间(Build Time)。在一个四处理器的机器上,构建时间比单处理器的机器快5倍。

Microsoft Connect站点最近发布了Phoenix SDK - 2008年4月CTP版。这个版本在2007年7月发布的早先版本的基础上,有了很多功能的增强,并对错误进行了修正。关于Phoenix的更多信息可以在Microsoft Connect找到。

查看英文原文: An Explanation of the Phoenix Compiler Framework

你可能感兴趣的:(Phoenix编译器框架说明)