是否有任何我可以编写的代码或任何其他方式来检查我的编译器正在编译的 C 语言版本?
最佳答案
How to check which version of C my compiler is using?
要检查标准版本,请使用 __STDC__
和 __STDC_VERSION__
。各种编译器还提供了特定于实现的宏以供进一步细化。
__STDC__
适用于 C89 及更高版本。
C94 之前的兼容版本当然不定义 __STDC_VERSION__
。从那以后它是一个 long
常量。
找到的常见值包括:
199409L
199901L
201112L
201710L
把它放在一起
#if defined(__STDC__)
#if defined(__STDC_VERSION__)
printf("Version %ld\n", __STDC_VERSION__);
#else
puts("Standard C - certainly 1989");
endif
#else
puts("Pre 1989 or non-compliant C");
#endif
示例 macro usage
关于c - 如何检查我的编译器使用的是哪个版本的 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59040555/