c/c++语言开发共享如何找出我的gcc默认使用的ANSI C标准?

我在这里看到它是带有扩展名的C90。 我怎么知道?

    使用-std=标志指定语言方言: c89c99c++98等。请注意, c90等同于c89

    作为简写-ansi在C模式下导致-std=c89而在C ++模式下导致-std=c89 -std=c++98

    使用-pedantic启用标准所需的所有诊断。

    对于C和gnu++98 ,C ++的默认gnu89 。 有关各种方言的详细说明,请参阅手册。

    阅读联机帮助页。 在我的计算机上(OSX 10.7,gcc版本4.2.1(基于Apple Inc. build 5658)(LLVM build 2335.15.00)):

    -std =
    确定语言标准。 目前仅支持此选项
    在编译C或C ++时。

    必须提供此选项的值; 可能的值是

    ….

    gnu89
    默认,ISO C90加上GNU扩展(包括一些C99function)。

    ….

    GNU ++ 98
    与-std = c ++ 98加上GNU扩展相同。 这是C ++代码的默认值。

    尝试以下命令并搜索std

     gcc -v --help | less 

    它将显示您的gcc的所有可用选项。

    您还可以检查其中一个预定义的宏 ,例如,默认情况下您的GCC是否要求ANSI C( STRICT__ANSI )(即没有任何cli参数)。

    默认情况下,没有任何版本的gcc完全符合任何ANSI或ISO C标准。 默认值始终等效于-std=gnuNN ,支持具有GNU特定扩展的给定标准。 在版本5之前(并且可以追溯到多年),默认-std=gnu90 。 从版本5开始,默认值为-std=gnu11

    有三种ISO C标准:C90,C99和C11。 (C95是对C90的一个小修正。)第一个ANSI C标准于1989年出版,被称为C89; 它描述的语言与ISO C90标准相同。

    要查找已运行的gcc的默认语言版本,请键入

      info gcc 

    搜索短语“默认”。

    这假设您已安装gcc文档, info gcc显示的文档与您正在运行的gcc版本匹配,并且措辞足够相似以至于搜索“默认”将找到正确的信息。 这些都不是保证。 较旧的gcc手册可能以不同的方式组织。

    更可靠,运行

     gcc --version 

    要查看您正在运行的版本,请访问GCC在线文档页面并阅读您正在运行的版本的文档。

    更简单地说,如果你有一个5.0之前的版本,默认是-std=gnu89 ; 否则默认值为-std=gnu11 。 (这可能会在未来的版本中发生变化,但只有在新的ISO C标准发布并且gcc维护者有时间实现它并决定将其作为默认值之后的一段时间。请不要屏住呼吸。)

    或者,您可以通过使用-std=...命令行选项指定所需的版本来完全避免该问题。

      以上就是c/c++开发分享如何找出我的gcc默认使用的ANSI C标准?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/560335.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐