program tip

부울 연산자를 전처리 기와 함께 사용할 수 있습니까?

radiobox 2020. 11. 18. 08:53
반응형

부울 연산자를 전처리 기와 함께 사용할 수 있습니까?


전 처리기 OR 또는 AND 문을 사용할 수 있는지 궁금합니다. _DEBUG또는 _UNIT_TEST태그 (?) 에서 실행하려는 곳에이 코드가 있습니다.

내가 원하는 것은 다음과 같습니다.

#if _DEBUG || _UNIT_TEST
  //Code here
#endif

이것이 가능하지 않은 경우 #elseif?를 사용하여 코드를 복제하지 않고도 동일한 작업을 수행 할 수있는 해결 방법이 있습니까?


#if defined _DEBUG || defined _UNIT_TEST 
  //Code here 
#endif 

AND 및 NOT 연산자도 사용할 수 있습니다. 예를 들면 :

#if !defined _DEBUG && defined _UNIT_TEST 
  //Code here 
#endif 

#if소요 어떤 컴파일러는 컴파일시에 평가하기 위해 관리하는 통합 유형 (1)의 C ++ 표현식입니다. 예, 정의 를 테스트 하는 데 사용하는 한 ||을 사용할 수 있습니다 .&&defined(SOMETHING)

(1) : 음, 그것보다 조금 더 제한적입니다. 핵심적인 내용은 여기에 있는 제한 사항을 참조 하십시오 ( "추가 제한 사항 포함"참조 ).


#if defined(_DEBUG) || defined(_UNIT_TEST)
  //Code here
#endif

또한 기록을 위해, 그건 #elif아니고 #elseif.

참고 URL : https://stackoverflow.com/questions/3390603/can-boolean-operators-be-used-with-the-preprocessor

반응형