Phoenix框架的构架师Andy Ayers通过在Channel上做的一个视频来设法解释Phoenix编译器框架(Compiler Framework)究竟是什么以及它是如何工作的Phoenix不仅仅限于一个编译器它还是一个软件优化和分析框架能被其他编译器和工具使用 它能生成二进制代码也能输出MSIL程序集源代码可以经过分析并被表示为IR(中间表示Intermediate Representation)形式这种形式可以在后期被各种工具分析和处理它的工作方式确实不像一个JIT编译器(JITer即时编译器) 与其它编译器相似Phoenix也把源代码转化为二进制内容一个主要的区别是Phoenix将微软所有的编译器(超过个)聚集成一个为微软支持的所有语言和平台生成二进制文件或MSIL代码 一个绝妙的特性是Phoenix作为一个框架包含一些API同时还是可插接的人们能使用这些API编写利用Phoenix特性的工具例如开发者 可以编写他自己的工具来分析IR文件并生成一些如何优化源代码的总结可插接的特性同样会带来极大的方便Andy说道微软通常需要年的时间为 新的硬件芯片生成所有的编译器如今当芯片上市的时候硬件制造商能够交付一个Phoenix插件用来为新芯片编译源代码 和其它微软的主要编译器一样Phoenix必须通过WindowsOfficeVisual Studio和其他几个庞大产品的编译测试这些产品可以把编译器推到极限这样做保证了编译器经受了真实世界复杂软件的检验以检查出任何存在其中的Bug 这个编译器内部支持多线程这样就能够在基于编译所用的平台上获得更快的构建时间(Build Time)在一个四处理器的机器上构建时间比单处理器的机器快倍 Microsoft Connect站点最近发布了Phoenix SDK 年月CTP版这个版本在年月发布的早先版本的基础上有了很多功能的增强并对错误进行了修正关于Phoenix的更多信息可以在Microsoft Connect找到 |