预定义宏__STC__和__STDC_VERSION__的配合使用,可以让我们编写兼容各种C标准的代码。
如下是一个典型的模板:
#ifdef __STDC__ /* Some version of Standard C */ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */ #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199409L /* C89 and Amendent 1 */ #else /* C89 but not Amendent 1 */ #endif #else /* Not Standard C */ #endif