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

    xiaoxiao2021-03-26  37

    一般来说 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 至天 认证博客专家 Max Sky PHPer ------------------------------------------------------------
    转载请注明原文地址: https://ju.6miu.com/read-350297.html

    最新回复(0)