从GCC切换到Clang的常见问题是什么? 假设我的C++是标准兼容的,我不依赖于第三方库,在Mag文件中替换“g++”到“CLAN++”时遇到的常见错误是什么?例如不兼容的编译器选项、不同的选项顺序要求、一些其他限制等。

从GCC切换到Clang的常见问题是什么? 假设我的C++是标准兼容的,我不依赖于第三方库,在Mag文件中替换“g++”到“CLAN++”时遇到的常见错误是什么?例如不兼容的编译器选项、不同的选项顺序要求、一些其他限制等。,gcc,g++,clang,clang++,compiler-flags,Gcc,G++,Clang,Clang++,Compiler Flags,TL;DR:Clang与GCC高度兼容-试一试 在大多数情况下,Clang可以用作GCC的替代品(Clang和Clang++是“与GCC兼容的驱动程序”)。Clang的设计考虑到了GCC的兼容性,GCC中可用的大多数选项也应该得到Clang的支持 根据我在几个项目上交替使用GCC和Clang的经验,我不记得Clang在GCC成功的地方编译失败的案例 然而,根据项目的大小和复杂性,迁移可能并不完全顺利。有几个因素可能会产生影响,包括编译器错误和不同的代码生成,它们可能会影响应用程序性能,在极少数情

TL;DR:Clang与GCC高度兼容-试一试

在大多数情况下,Clang可以用作GCC的替代品(
Clang
Clang++
是“与GCC兼容的驱动程序”)。Clang的设计考虑到了GCC的兼容性,GCC中可用的大多数选项也应该得到Clang的支持

根据我在几个项目上交替使用GCC和Clang的经验,我不记得Clang在GCC成功的地方编译失败的案例

然而,根据项目的大小和复杂性,迁移可能并不完全顺利。有几个因素可能会产生影响,包括编译器错误和不同的代码生成,它们可能会影响应用程序性能,在极少数情况下甚至影响应用程序功能。切换编译器是一个很大的变化,所以一旦您能够成功构建,最好运行所有可用的测试和基准测试

这里仅举几个例子,说明SO对于GCC和Clang可能存在的不兼容。很可能,你不会遇到这样的问题

关于:选项顺序-GCC和Clang都以任意顺序接受编译器标志