C99'da bir şekilde bir yol yapmak istiyorum, aksi halde başka bir şekilde gerçekleştirmek. Kontrol etmek için #define
nedir?C99 için #define var mı?
#ifdef C99
...
#else
...
#endif
C99'da bir şekilde bir yol yapmak istiyorum, aksi halde başka bir şekilde gerçekleştirmek. Kontrol etmek için #define
nedir?C99 için #define var mı?
#ifdef C99
...
#else
...
#endif
Belirli bir #define
değeri yok. Sadece __STDC_VERSION__
'u kontrol edin ve kendiniz tanımlayın! ;-)
#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
DÜZENLEME: daha genel bir pasajı, from here.
#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
Şimdi C11 için bir test eklemekti. – chux
#if __STDC_VERSION__ == 199901L
/* C99 */
#else
/* not C99 */
#endif
Değişim >=
için ==
Eğer C99 ve daha sonra test etmek istiyorsanız.
Terminoloji nitpick: yenilere bir #define dediğimiz, gurular a * makro çağırmak * veya (* makro Sadece kod üzerinde onları çok kullanacağız ihtimale karşı tanımlanmış isimleri değiştirdik tanımlayıcı * özel olarak değiştirilmesi gereken şeylere başvurduklarında). – Jens