Есть ли #define для C99?

Я хочу сделать что-то на C99 в одну сторону, иначе это сделать другим способом. Что такое #define для проверки?

 #ifdef C99 ... #else ... #endif 

Не существует определенного значения #define . Просто проверьте __STDC_VERSION__ и определите его сами! 😉

 #if __STDC_VERSION__ >= 199901L /* C99 code */ #define C99 #else /* Not C99 code */ #endif #ifdef C99 /*My code in C99 format*/ #else /*My code in C99 format*/ #endif 

EDIT: более общий fragment, отсюда . Я только что изменил определенные имена, на всякий случай, когда вы будете использовать их много в коде:

 #if defined(__STDC__) # define C89 # if defined(__STDC_VERSION__) # define C90 # if (__STDC_VERSION__ >= 199409L) # define C94 # endif # if (__STDC_VERSION__ >= 199901L) # define C99 # endif # endif #endif 
 #if __STDC_VERSION__ == 199901L /* C99 */ #else /* not C99 */ #endif 

Изменить == на >= если вы хотите протестировать C99 и позже.