Clang / LLVM准备好迎接黄金时间了吗?[关闭]


9

可以使用Clang代替gcc吗?您对此有何经验?还有哪些不利条件?

编译的性能比gcc好得多,但是关于执行它时生成的代码的性能呢?

有没有好的工具可以在Linux或Windows上运行作为前端(IDE)?

编辑:我的意思是C编译器。C ++还不是很好。

Answers:


9

更新:现在(2013年),Clang已准备就绪,已经被Google等一些公司使用。但是,它在Windows上并不完全可用,在此平台上的工作是“正在进行的工作”。LLVM / Clang当前是MacOSX / XCode上的默认编译器,但它与LLVM的发行版并不完全相同,因此请注意细微的差异(主要是版本号差异)。


遵循clang dev邮件列表,最近已经成功构建了主干版本

  • linux内核(最新版本)
  • Qt(显然也有特殊的构建过程)
  • 铬(最新修订)

因此,我想说即将发布的版本(2.9)可能是一个很好的“准备黄金时间”编译器。

但是,如果您的项目有计划和预算,那么尝试尚未经过严格测试的编译器可能不是一个好主意。如果您可以尝试并向Clang开发人员社区提供反馈,那么就去做吧,这对每个人都是双赢的。如果不是这样,也许您应该使用像gcc这样的成熟且大量使用的编译器(在其最新版本中)来为项目工作提供“稳定的基础”。


只是为了补充,这不是一个专业项目...但是,它几乎是20%的工作时间项目。
Maniero 2010年

我本可以在非专业的跨平台项目中尝试使用clang。实际上,这就是我现在正在尝试的。
克莱姆(Klaim)2010年

谢谢。我关心的是项目的未来。我将从实验开始,但我希望不久以后能做更多。
Maniero 2010年

如果这是一个长期项目,则一旦稳定,正确,优化并具有完整的C ++ 0x功能(如果使用c ++),它可能会从CLang手中受益。因为它的目标是成为在那里更快的编译器,而且显然已经存在。这很重要。
克莱姆(Klaim)2010年

1
Clang还在构建iOS,Xcode,以及Apple几乎所有的产品。
Mike Weller

8

好吧,由于许多Mac OS X应用程序都是使用clang编译的,因此它肯定已经可以在Mac OS X上进行黄金时段了。但是即使在其他平台上,C的支持也很稳定,并且团队在C ++的支持上也取得了长足的进步。

一般来说,clang的编译速度比gcc快,但是gcc会生成优化程度更高的代码。(在某些情况下,情况并非如此,但总的来说,这就是当前状态。)


我看到了同样的问题,Clang仍然与MacOS / BSD捆绑在一起。
Maniero 2010年

我在Windows 7上尝试过CLang,它工作正常。我也在Ubuntu上尝试过。我认为您的信息不是最新的,但这是合乎逻辑的,因为最近几个月已经进行了许多跨平台修复工作。因此,一旦下一个版本发布,也许它就不会以Mac为中心。
克莱姆(Klaim)2010年

1
@Klaim:我并不是说Clang 本身,而是整个生态系统。我在Win7中断问题上尝试了一些方法,但在cli上只是编译器。
Maniero 2010年

我发现Clang为我的项目创建了比GCC更快的二进制文件。至少值得尝试一下。
肯德尔·霍普金斯

另外,现在是iOS的默认编译器。
mamcx 2012年

3

除非确实需要,否则您不应该真正依赖特定的编译器。因此,您应该能够在Makefile或其他文件上更改编译器,并且一切正常。

在这里,我主要将clang用于玩具项目,因为它更快,更重要:它的错误消息更加清晰明了。但是当我需要使用gdb时,我将使用gcc和-ggdb进行编译。所以clang尚未完成功能,并且不能成为我唯一的编译器。

(顺便说一句:我在使用x86 gentoo,并且项目使用C和C ++)

编辑:澄清一下,clang 运行得更快(在某些情况下,更快)。我不在乎花哨的优化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.