programing

#ifdef에 'or' 조건을 추가하는 방법

prostudy 2022. 8. 28. 11:57
반응형

#ifdef에 'or' 조건을 추가하는 방법

#ifdef에 'or' 조건을 추가하려면 어떻게 해야 합니까?

시도했습니다.

#ifdef CONDITION1 || CONDITION2

#endif

이것은 동작하지 않습니다.

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

작동해야 합니다.:)

#ifdef타이핑은 조금 적지만 복잡한 조건에서는 잘 작동하지 않습니다.

이것을 사용할 수 있습니다.

#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

저는 칼럼 제한을 엄격하게 유지하는 것에 대해 강박증 환자이며, "\" 행의 계속은 그 뒤에 코멘트를 달 수 없기 때문에 좋아하지 않습니다.그래서 제 방법은 다음과 같습니다.

//|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|//
#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   //|       |//
//|________________________________________|//

언급URL : https://stackoverflow.com/questions/2998864/how-to-add-a-or-condition-in-ifdef

반응형