gpt4 book ai didi

C++ 编译器和后端/前端

转载 作者:IT老高 更新时间:2023-10-28 21:46:33 27 4
gpt4 key购买 nike

对于我自己的教育,我很好奇编译器使用哪个 C++ 前端和后端。您能告诉我以下技术在哪里使用以及它们有哪些标志/优势(如果有的话)?

  • Open64 - 它是后端、前端还是两者兼而有之?哪些编译器使用它?我在CUDA编译器中遇到过。

  • EDG - 据我所知,这是英特尔编译器和 Comeau 的前端使用。其他编译器使用它吗?我在 boost 源代码中发现了很多对它的引用。

  • ANTLR - 这是通用解析器。有没有常见的编译器使用它?

关于编译器:

  • gcc 编译器套件使用前端/后端吗?它与任何其他编译器有共同的传统吗?

  • 前端/后端 PGI 和 PathScale 编译器使用什么?

  • 前端/后端 XL 编译器使用什么(IBM 产品)。

Internet 上的深度链接或您的个人专业知识会很棒。我做了一些谷歌搜索,但我一般遇到的信息都比较肤浅。

谢谢。

最佳答案

EDG 是英特尔和 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,很可能是 GCC 2.x。

我相信 PathScale 已经创建了至少一个从 Open64 派生的编译器,但他们可能也有其他的。

据我所知,IBM 的编译器完全是他们自己创造的。我IBM(现已停产)VisualAge for C++ 与 XL C++ 共享了一些遗产/开发/代码,但不确定,也不能甚至开始猜测它的程度,即使假设它是真的。

关于C++ 编译器和后端/前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2618494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com