是否有预处理器宏来检测跨平台的C99?

Jhe*_*ico 10 c macros c99

C++有一个__cplusplus预处理器定义,可以让你检测版本.C有什么相似之处吗?

我希望它可以在XCode,GCC和Visual Studio版本中移植.

dop*_*ime 11

根据维基百科关于C99的文章

A standard macro __STDC_VERSION__ is defined with value 199901L to indicate that C99 support is available

#if __STDC_VERSION__ >= 199901L
   /*C99*/
#else
  /*Not C99*/
#endif
Run Code Online (Sandbox Code Playgroud)

  • `_STDC_VERSION__`可能没有在C90编译器中定义,你应该先检查它是否已定义,而不会出现编译时错误. (2认同)