#Ifdef में 'या' स्थिति कैसे जोड़ें


166

मैं #ifdef में 'या' स्थिति कैसे जोड़ सकता / सकती हूं?

मैंने कोशिश की है:

#ifdef CONDITION1 || CONDITION2

#endif

यह काम नहीं करता।

जवाबों:


317
#if defined(CONDITION1) || defined(CONDITION2)

कार्य करना चाहिए। :)

#ifdef थोड़ा कम टाइपिंग है, लेकिन अधिक जटिल परिस्थितियों के साथ अच्छी तरह से काम नहीं करता है


5
@iEngineer #elif defined(CONDITION1) || defined(CONDITION2)?
जुलफ

2
एकाधिक शर्त के साथ #ifndef का उपयोग कैसे करें?
user3017748

18
@ user3017748 #if! परिभाषित (CONDITION1) || परिभाषित (CONDITION2)
jalf

4
@ user3017748, jalf की टिप्पणी से काम करता है अगर आप ऐसा करने के लिए कुछ करता है, तो चाहते हैं या तो दो स्थितियों में से कर रहे हैं नहीं परिभाषित किया। यदि आप चाहते हैं कि यदि उनमें से कोई भी परिभाषित न हो , तो आप इसका उपयोग करेंगे: और #if !defined(CONDITION1) && !defined(CONDITION2)
cp.engr

1
क्या यह एक की जरूरत नहीं है #endif?
Stevoisiak

18

इसका उपयोग कर सकते हैं-

#if defined CONDITION1 || defined CONDITION2
//your code here
#endif

यह भी वही करता है-

#if defined(CONDITION1) || defined(CONDITION2)
//your code here
#endif

आगे की-

  • तथा: #if defined CONDITION1 && defined CONDITION2
  • XOR: #if defined CONDITION1 ^ defined CONDITION2
  • और नहीं: #if defined CONDITION1 && !defined CONDITION2

-1

मैं वास्तव में सख्त स्तंभ सीमाओं को बनाए रखने के बारे में ओसीडी हूं , और "\" लाइन निरंतरता का प्रशंसक नहीं हूं क्योंकि आप इसके बाद एक टिप्पणी नहीं कर सकते हैं, इसलिए यहां मेरी विधि है।

//|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|//
#ifdef  CONDITION_01             //|       |//
#define             TEMP_MACRO   //|       |//
#endif                           //|       |//
#ifdef  CONDITION_02             //|       |//
#define             TEMP_MACRO   //|       |//
#endif                           //|       |//
#ifdef  CONDITION_03             //|       |//
#define             TEMP_MACRO   //|       |//
#endif                           //|       |//
#ifdef              TEMP_MACRO   //|       |//
//|-  --  --  --  --  --  --  --  --  --  -|//

printf("[IF_CONDITION:(1|2|3)]\n");

//|-  --  --  --  --  --  --  --  --  --  -|//
#endif                           //|       |//
#undef              TEMP_MACRO   //|       |//
//|________________________________________|//
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.