与 gcc 相比,comeau 编译器值得吗?

Posted

技术标签:

【中文标题】与 gcc 相比,comeau 编译器值得吗?【英文标题】:Is comeau compiler worth it compared to gcc? 【发布时间】:2009-07-17 05:49:25 【问题描述】:

到目前为止,我一直在使用 gcc、g++ 进行 C、C++ 应用程序开发,并且发现它非常棒。但是浏览 Stack Overflow 时,我发现许多成员表示 Comeau 编译器中的错误报告比任何其他编译器都要多。这是真的?我没有投资编译器的任何商业版本。当 gcc、g++ 发挥作用时,真的值得花钱购买 C/C++ 编译器的商业版本吗?

【问题讨论】:

【参考方案1】:

我编写 C++ 的经验是,使用多个编译器编译代码是在代码中发现奇怪的极端情况的好方法。在我们的例子中,我们使用了 gcc、Apple gcc 和 Visual Studio 编译器 cl(它是免费的)。在 Windows 上,我更喜欢 cl 编译器,因为它编译速度更快(对我们来说大约快 5 倍)并且它生成更好的代码(我上次检查时快了大约 30%)。哪个编译器生成最快的代码总是取决于应用程序。在我们的特殊情况下,英特尔编译器并不擅长生成与流行观点相反的快速代码,因此没有真正的动机使用它。

如果我们有足够的钱,使用 Comeau 进行编译将有助于额外检查标准一致性。除此之外,我对我们使用的编译器很满意。

【讨论】:

我认为这并不能真正回答问题 - 它提出的一般观点似乎有效,但它并没有具体说明 Comeau。【参考方案2】:

Comeau 编译器的杀手级特性是它的一致性(包括 C++03!)和出色的错误报告。

也有在线尝试的方法:http://www.comeaucomputing.com/tryitout/

如果这些功能对您来说值得,那么 Comeau 编译器绝对值得。

向 Comeau 编译器致敬!

【讨论】:

只是为了强调一点,AFAIK,Comeau 编译器是使用 Edison Design Group (EDG) 前端实现的。我认为很大一部分功劳应该归功于 EDG!【参考方案3】:

Comeau 的编译器主要有三个用途:

目标平台只有 C 编译器

具有良好的一致性声誉和良好的错误消息的附加编译器

试验只有它才有的功能(例如,试验导出的模板是我多年前购买它的原因)

请注意,调试不是用途之一。它生成 C 代码,然后由 C 编译器编译。它使用#line 指令,这样您就可以在代码中一步一步地进行,但要做得更多,您将遇到与使用 C 作为中间语言调试任何语言时相同的问题:调试器不知道约定的起始语言。

【讨论】:

【参考方案4】:

如果您对 gcc 工具感到满意,请坚持使用它们。不要修复没有损坏的东西。 很多人每天都在使用它们,而且它们当然非常好。

也就是说,gcc 一直是criticized,因为“每个版本都会变慢并创建糟糕的代码”。不知道“垃圾”,但我们一直在使用硬件供应商特定(例如英特尔)编译器编译时间关键部分。与 gcc 相比,它们确实在某些情况下创建了更快的代码。但通常情况下,差异并不重要。

【讨论】:

【参考方案5】:

我倾向于说不,g++ 是一个很棒的编译器,有一个庞大的社区支持它,除非你想要它提供的支持,否则真的不需要切换到商业编译器,除非你是你可能不知道的大型开发人员。在 Windows 上使用 g++ 和 VS Express,真的没有必要为编译器花钱。花钱/时间的更好去处!

【讨论】:

除了卓越的标准合规性之外,您的意思是?【参考方案6】:

我相信 Comeau Release 版本相当稳定。当您购买商业 C/C++ 编译器时,您将主要为特定的功能付费。您应该决定是否需要这些功能。

如果您没有特殊要求,GNU C/C++ 编译器是一个不错的选择。

【讨论】:

以上是关于与 gcc 相比,comeau 编译器值得吗?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2010:扩展/差异

没装gcc能用cmake吗?

1.GCC程序编译

GCC 编译器吸纳 OpenRISC 作为架构端口

强强联手,GCC 编译器已采纳 OpenRISC 的架构移植

mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗