【问题标题】:Difference in behavior with clang and gcc using the same flags? [duplicate]使用相同标志的clang和gcc的行为差异? [复制]
【发布时间】:2017-09-28 21:32:41
【问题描述】:

在我的开发机器上,使用以下命令构建我的项目不会产生错误。

clang -Wall -std=c89 main.c

但是,在另一台装有 gcc 的机器上,使用以下命令会产生错误。

gcc -Wall -std=c89 main.c

main.c:65: error: 'for' loop initial declaration used outside C99 mode

为什么会有这种行为差异?

这是我正在使用的 clang 和 gcc 的版本。

clang --version
Apple LLVM version 9.0.0 (clang-900.0.37)

gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)

【问题讨论】:

    标签: c gcc clang


    【解决方案1】:

    显然 clang 是允许的,在 c89 标志下接受 c99 代码。

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 2020-01-18
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2014-07-12
      • 2019-03-26
      • 2019-06-05
      • 1970-01-01
      相关资源
      最近更新 更多