C 编程新手。
在 gcc 中-std
设置了编译的 C 标准,例如gcc -std=c99
.
可以知道当前制定的是哪个C标准吗?
存在以各种模式定义的各种预处理器符号。您可以使用gcc -E -dM -x c /dev/null
来获取所有预定义的预处理器符号的转储。
当处于 C99 模式(-std=c99
或-std=gnu99
)时,该符号__STDC_VERSION__
定义为199901L
。在 C11 模式下(使用-std=c11
或std=gnu11
),它是201112L
当处于严格 C 模式(-std=cXX
与 相对-std=gnuXX
)时,符号__STRICT_ANSI__
定义为1