查看当前编译器支持的C/C++标准
gcc -E -dM - </dev/null | grep "STDC_VERSION"
或者
printf("%ld\n",__STDC_VERSION__);
printf("%ld\n",__cplusplus);
对应关系如下
如果没查到,则默认是c89的标准;
如果是#define __STDC_VERSION__ 199901L,则默认支持的是c99标准;
如果是#define __STDC_VERSION__ 201112L,则默认支持的c11标准;
- C ++ 98:
__cplusplus
是199711L
- C ++ 11:
__cplusplus
是201103L
- C ++ 14:
__cplusplus
是201402L
- C ++ 17:
__cplusplus
是201703L