• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小比丘
博客园    首页    新随笔    联系   管理    订阅  订阅
GCC对C标准的支持

写在前面:GCC支持C90, 不完全支持C99。在不指定C标准的情况下,GCC默认使用GNU C。用一个式子表示GNU C:

GNU C = C90 + GNU Extensions = C90 + (some features in C99 + some features in C11)


GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada,以及Go与其他语言。

如下表,GCC至今(version 4.7)已支持4种C标准。注意有些标准是不完全支持的。

参考:Language Standards Supported by GCC

另外,GCC也提供了扩展的C标准(GNU C)。

参考:Extensions to the C Language Family

默认情况下,即在不加以上讲到的编译器选项的情况下,GCC使用-std=gnu89(版本高的话,可能是-std=gnu90)。


看个例子

ps: 我用的是wingw, gcc version 4.3.3


结束语:gcc对C语言的新标准(如C99,C11)还是不遗余力地支持的,不像MS。 

posted on 2012-07-20 13:07  小比丘  阅读(10536)  评论(3)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3