对于我自己的教育,我很好奇什么编译器使用哪个C++前端和后端。
您能启发我使用以下技术的地方以及它们的标志/优点(如果有)?
关于编译器:
gcc编译器套件使用带有前端/后端的
互联网上的深入链接或您的个人知识将非常有用。
我做了一些Google搜索,但是我通常遇到的信息是肤浅的。
谢谢。
最佳答案
EDG是Intel和Comeau使用的前端。请参见其他用户的EDG的customers列表。
ANTLR是解析器生成器。我不知道有任何使用ANTLR构建的解析器周围构建的C++编译器(但这并不意味着它不存在)。
GCC是一套编译器,具有用于C,C++,Fortran,Ada,Java等的前端,以及用于更多处理器的后端,这超出了我的考虑。
Open64还是一套编译器,包括几个前端(针对C,C++,Fortran,以及可能我目前还不记得的其他前端)和后端(针对X64,Itanium,ARM,也许还有其他)我不记得和/或不知道)。我相信它的起源(用双关语暗示)是SGI的编译器。我似乎记得记得读过一些暗示Open64源自某些版本的GCC前端的信息,但从另一方面来说,我不知道1)它与GCC在内部的相似程度如何,或者2)它来自的GCC版本派生-但它已经存在了足够长的时间,以至于我猜它是最新的GCC 3.x,很有可能是GCC2.x。
我相信PathScale已经创建了至少一个从Open64派生的编译器,但它们可能还有其他编译器。
据我所知,IBM的编译器完全是他们自己创建的。我猜IBM的VisualAge(现已停产)的C++与XL C++共享了一些继承/开发/代码,但我不确定,甚至假设它是真的也无法开始猜测它的范围。
关于c++ - C++编译器和后端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2618494/