BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Phoenix编译器框架说明

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2008年5月29日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT