用于生产代码的LLVM编译器?

用于生产代码的LLVM编译器?,llvm,Llvm,我有一个关于编译器的问题: 我想用它来编译Mac和iOS的Objective-C源代码,从它们的发行说明来看,LLVM似乎足够稳定,可以使用它 P>已经用LLVM做了好的经验,我也想用它来编译C++或ObjuleC++。但是,我不清楚我是否仍然应该使用混合LLVM-GCC编译器(GCC解析器和LLVM代码生成器)或纯LLVM编译器 我还不确定新的C++标准库,如果我应该使用它,我将如何从GNU的LIbSTDC++./P>进行转换。 问题 今天,我们将使用哪种编译器从C++生成快速生产质量代码:

我有一个关于编译器的问题:

我想用它来编译Mac和iOS的Objective-C源代码,从它们的发行说明来看,LLVM似乎足够稳定,可以使用它

<> P>已经用LLVM做了好的经验,我也想用它来编译C++或ObjuleC++。但是,我不清楚我是否仍然应该使用混合LLVM-GCC编译器(GCC解析器和LLVM代码生成器)或纯LLVM编译器

我还不确定新的C++标准库,如果我应该使用它,我将如何从GNU的LIbSTDC++./P>进行转换。 问题
  • 今天,我们将使用哪种编译器从C++生成快速生产质量代码:LLVM-GCC混合编译器还是纯LLVM
  • 是否应该将C++标准库从GNU的LBSTDC ++迁移到LLVM项目创建的新的LBC+ +库?

  • 非常感谢您的任何意见和提示。

    这里有几个问题,我将尝试回答所有问题

  • 没有“纯LLVM编译器”。LLVM是一组进行代码优化和代码生成的库。有几个C/C++前端可以连接到LLVM。其中包括clang和llvm gcc。有关LLVM编译器基础结构的各种组件的更多信息,请参阅。正如在中所写的,LLVMGCC是LLVM2.9发行版之后的EOL,所以您最好使用clang,因为它肯定会在将来得到开发和维护
  • LBC+++仍在开发中,因此对于生产,您应该使用供应商提供的C++(LIbSTDC++ +在您的情况下)。
    记住,所有这些东西都在变化,所以基准很容易过时

    我发现以下报告很有趣,不仅是作为一种基准测试,而且似乎显示了LLVM与GCC编译器的一些差异:

    我对用于arm的LLVM感到有点不确定,因为在armv6设备上使用此代码时发生了一些崩溃。我很惊讶地了解到这一点:请注意,这是一个老问题。苹果当前的开发工具使用LLVM;GCC消失了。你知道DragonEgg(应该取代llvm GCC)是否已经准备好生产了吗?@Matthieu:我真的不这么认为。现在只有邓肯在做这件事。不过,由更广泛的受众进行测试可能有助于快速获得“生产就绪”标签。