【问题标题】:When compiling using -std=c99 do I need to use -pedantic or -ansi?使用 -std=c99 进行编译时,我需要使用 -pedantic 还是 -ansi?
【发布时间】:2012-02-02 16:59:04
【问题描述】:

我是 C/GCC 菜鸟,抱歉。谢谢。

【问题讨论】:

  • 当然,你也需要单腿站立。如果您提出此类问题,请至少阅读手册页并解释您认为是否需要这些选项的原因,并具体说明您的问题。

标签: c gcc compiler-construction


【解决方案1】:

使用-ansi 等同于使用-std=c89-std=c++98,具体取决于您是在编译C 文件还​​是C++ 文件,因此您不希望将它与-std=c99 一起使用,因为它会发生冲突。另一方面,-pedantic 独立于 -std,因此可以与它一起使用。

【讨论】:

    【解决方案2】:

    带有 -pedantic 的东西是线索在名称中;有人需要迂腐吗?

    如果您需要那种级别的合规性,那么是的,您需要它,但解决任何迂腐警告不太可能影响您的代码行为,而只是做更多工作。

    【讨论】:

      【解决方案3】:

      您可以将 -pedantic 与 -std=c99 或 -ansi 一起使用。
      -ansi 和 -std=c99 都是编译器要遵循的标准,并且相互冲突,因为一次只能遵循一个标准。

      -padantic 用严格的ISO CISO C++ 标准检查程序并拒绝任何禁止的表达式。如果没有此选项,则可以允许使用某些传统的 C 和 C++ 功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-16
        • 1970-01-01
        • 1970-01-01
        • 2012-05-05
        • 2014-01-05
        • 1970-01-01
        • 2019-10-09
        • 1970-01-01
        相关资源
        最近更新 更多