您的位置:首页 > 其它

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

2016-12-28 00:43 405 查看
一般来说 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


终端返回结果如下:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: