检测 gcc 是否支持 C99 标准的方法

一般来说 gcc 3.0 以上都是支持 C99 的

但是编译的时候得加上 -std=c99

检测 gcc 是否支持 C99 方法,新建 c99.c 文件,内容如下

#include <stdio.h>

int main(void) {
#ifdef __STDC__
     printf("%s\n", "stardard C");
#endif
#ifdef __STDC_VERSION__
     // 正确输出结果应该是 long 型,
     // 这里本应该用 %ld, 但命令行运行不会返回提示而需要手动运行一次;
     // 故用 %d 让其警告而不用再次运行编译后程序即可查看结果
     printf("%d\n", __STDC_VERSION__);
#endif
     return 0;
}



然后命令行执行:

gcc -std=c99 -o c99 c99.c -Wall
1
终端返回结果如下:

c99.c:12:21: warning: format specifies type 'int' but the argument has type
      'long' [-Wformat]
     printf("%d\n", __STDC_VERSION__);
             ~~     ^~~~~~~~~~~~~~~~
             %ld
<built-in>:327:26: note: expanded from here
#define __STDC_VERSION__ 199901L
                         ^~~~~~~
1 warning generated.


执行 c99 程序返回:

stardard C
199901

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值