【问题标题】:What are the common problems in switching from GCC to Clang?从 GCC 切换到 Clang 的常见问题是什么?
【发布时间】:2018-08-15 21:52:58
【问题描述】:

假设我的 C++ 符合标准并且我不依赖第三方库,那么在 makefile 中将“g++”替换为“clang++”时通常会遇到哪些陷阱?比如编译器选项不兼容、选项顺序要求不同、其他一些限制等。

【问题讨论】:

    标签: gcc g++ clang clang++ compiler-flags


    【解决方案1】:

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

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

    根据我在多个项目中交替使用 GCC 和 Clang 的经验,我不记得在 GCC 成功的情况下 Clang 无法编译的任何情况。

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

    这里只是一些来自 SO 的示例,用于 GCC 和 Clang 可能的不兼容性。很有可能,您不会遇到此类问题。

    RE:选项顺序 - GCC 和 Clang 都接受任何顺序的编译器标志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多