假设我们要编写的 C 语言源代码文件的文件名称是 a.c
则,在 gcc 下指定编译器编译标准的命令为:
gcc -std=c99 a.c //调用 C99 标准 gcc -std=c1x a.c //调用 GCC 接受 C11 之前的草案标准 gcc -std=c11 a.c //调用 C11 标准
clang 编译器与 gcc 编译器用法相同, 如果要使用 clang 编译器, 则将 gcc
替换成 clang
即可.
如果想查看当前使用的 gcc 编译器默认的编译标准, 在 Ubuntu Linux 中可以使用如下命令查看 C 语言的所有预编译宏:
gcc -E -dM - </dev/null
在输出的结果中查看 #define __STDC_VERSION__
的值, 不同值代表的不同编译标准如下:
#define __STDC_VERSION__ 199901L //C99 标准 #define __STDC_VERSION__ 201112L //C11 标准
输出结果的局部截图如图 1 所示:
为了更方便查找, 我们也可以结合 grep
对 #define __STDC_VERSION__
关键字进行过滤, 命令:
gcc -E -dM - </dev/null | grep -e "#define __STDC_VERSION__"
上述命令的运行结果如图 2 所示: