c语言编程基础------0.3GCC和C的关系

实际上,这两者的关系是编译器支持c标准版本的关系,就是支持与被支持的关系。


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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值