मैं सी 99 में कुछ करना चाहता हूं, अन्यथा इसे एक और तरीका करने के लिए। जांच के लिए #define
क्या है?क्या सी # के लिए # डिफाईन है?
#ifdef C99
...
#else
...
#endif
मैं सी 99 में कुछ करना चाहता हूं, अन्यथा इसे एक और तरीका करने के लिए। जांच के लिए #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
संपादित करें: एक अधिक सामान्य टुकड़ा, 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
अब सी 11 के लिए एक परीक्षण जोड़ना था। – chux
#if __STDC_VERSION__ == 199901L
/* C99 */
#else
/* not C99 */
#endif
बदलें >=
को ==
आप C99 के लिए और बाद में परीक्षण करने के लिए चाहते हैं।
शब्दावली nitpick: क्या newbies के एक #define कहते हैं, गुरु एक * मैक्रो फोन * या (* मैक्रो पहचानकर्ता * जब वे विशेष रूप से उस चीज़ को संदर्भित करते हैं जिसे प्रतिस्थापित किया जाना चाहिए)। – Jens