我的项目是obj-c和C ++ hybirid,由* .m和* .mm填充。
编译时,如果选择GCC 4.2,* .m obj -c源文件编译速度非常快但* .mm非常慢,但LLVM 2.0可以做得很好,两者都非常快*。 m和* .mm。
我的问题: 在压缩* .mm文件期间,LLVM和GCC 4.2之间有什么区别吗?为什么GCC 3.2这么慢?
任何ieda或讨论将不胜感激,在此先感谢。
ENV:XCODE 4.0.1
答案 0 :(得分:1)
在compliling期间LLVM和GCC 4.2之间是否有任何区别 * .mm文件?为什么GCC 3.2这么慢?
是;它们是完全不同的编译器;基本上关于过程的一切都是不同的,即使实际效果是相似的(你得到一个忠实再现源代码语义的可执行文件)。 LLVM的主要目标之一是提高编译速度。这是预期的。
如果您想了解LLVM的内部结构,here's是一个合理的起点。
答案 1 :(得分:0)
LLVM是一个更新的编译器,在过去的5年中设计和编写,而gnu编译器集合(gcc)已有20多年的历史,而且非常臃肿,但可以使用很多语言。 在非常罕见的情况下,gcc优化更好,但通常你应该只使用LLVM。
答案 2 :(得分:0)