Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ LLVM(Clang)是否使用过GCC?_C++_C_Gcc_Clang_Llvm - Fatal编程技术网

C++ LLVM(Clang)是否使用过GCC?

C++ LLVM(Clang)是否使用过GCC?,c++,c,gcc,clang,llvm,C++,C,Gcc,Clang,Llvm,网络上有“说法”说LLVM(Clang)是在考虑GCC兼容性的情况下构建的,它使用了许多GCC工具来编译代码。然而,这是没有意义的;Clang不是GCC更高级的替代品吗?那么直截了当地说,Clang使用GCC吗?它们相关吗?根据配置方式,clang可以使用gcc组件,例如:保持兼容性。与gcc一样,Clang是一个编译器,也是一个编译器前端。严格来说,C++编译器不链接代码,链接器也可以这样做。Clang可以使用gnu ld、gold、lld或其他。这些都是链接器,是gcc工具链的一部分。编译器

网络上有“说法”说LLVM(Clang)是在考虑GCC兼容性的情况下构建的,它使用了许多GCC工具来编译代码。然而,这是没有意义的;Clang不是GCC更高级的替代品吗?那么直截了当地说,Clang使用GCC吗?它们相关吗?

根据配置方式,clang可以使用gcc组件,例如:保持兼容性。与gcc一样,Clang是一个编译器,也是一个编译器前端。严格来说,C++编译器不链接代码,链接器也可以这样做。Clang可以使用gnu ld、gold、lld或其他。这些都是链接器,是gcc工具链的一部分。编译器还需要一个标准库,clang可以使用libstdc++、libc++或其他。libstdc++是gcc工具链的一部分,是保持与其他系统范围组件兼容的常用选项。

甚至还有MSVC兼容性:Clang不是“gcc更高级的替代品”。Clang根本不使用GCC。Clang绝对是受GCC的启发,有许多(但不是全部)相同的旗帜。我相信创建Clang的动力是GCC许可,苹果觉得这对他们来说是不愉快的。不清楚为什么你认为Clang比GCC更先进。作为一个项目,它更年轻,但这可以作为一个相反立场的论点。这两个项目都在继续积极开发,因此也没有理由断言其中一个项目比另一个项目更先进。@JohnBollinger我刚刚反复注意到,Clang在性能方面优化代码的效果要好得多,它是在LLVM的基础上构建的,LLVM在优化方面名声大噪,因此,从这一点以及我在网上看到的内容来看,我认为Clang可能比GCC更先进。我也不知道GCC正在积极开发中,所以可能我错了。@xdraxulisx您的性能声明有任何来源吗?但是如果Clang可以使用自己的工具,为什么要使用GCC呢?实际上,我认为是的(虽然我不是专家);例如,我曾多次尝试在我的程序中实现并发性,这些程序不会使用GCC编译,因为库(如)不存在,然后使用Clang编译就可以了。这可能是我的错误,并不是GCC造成的,但这意味着Clang使用的stdlib与GCC不同。例如,对于链接器来说,CLANG不象XXCODE那样使用它自己吗?我根本不想质疑您的响应,我是新来的,所以我只是想弄清楚C++的混乱世界。BinUtils -从CLAN中有更新的、不太普遍的工具,但不是完全向后兼容的。这是一个仍然使用GCC工具的地方。