내가 좋아하는 미리 정의 된 값을 확인할 수 있습니다 정의 검사처리기는
표준 단락 및 연산자 (&&
)
#ifdef SOME_VAR
#ifdef SOME_VAR2
// At least! Do something
#endif
#endif
내가 좋아하는 미리 정의 된 값을 확인할 수 있습니다 정의 검사처리기는
표준 단락 및 연산자 (&&
)
#ifdef SOME_VAR
#ifdef SOME_VAR2
// At least! Do something
#endif
#endif
defined
키워드와 함께이 상황에서 사용되는 키워드입니다. 마찬가지로
#if defined(SOME_VAR) && defined(SOME_VAR2)
/* ... */
#endif
, 일반 하지 연산자 (!
)를 부정 사용된다 :
#if defined (SOME_VAR) && defined(SOME_VAR2)
#endif
#ifdef
및 #ifndef
그냥 단축키 :
#if defined(SOME_VAR) && !defined(SOME_OTHER_VAR)
/* ... */
#endif
당신은 defined
연산자를 사용할 수 있습니다 defined
연산자의 경우
당신은 쓸 수 있습니다 : "빈 기호"는 # 만약 시험에서 false로 평가하기 때문에
#if defined(SOME_VAR) && defined(SOME_VAR2)
// ...
#endif
#if defined(A) && defined(B)
하나의 대안은, #ifdef와를 사용하고 단지 # 만약 사용에서 멀리 얻을 수 있습니다.
그래서 그 대신 당신은 그냥
#if SOME_VAR && SOME_OTHER_VAR
// -- things
#endif
을 할 수 그러나에 큰 부작용은 당신뿐만 아니라 당신의 변수로 #define 필요가있다, 당신이 뭔가 수를 정의 할 필요가있다. 예 : 위의 #if 테스트를 할 것입니다 그 # 정의 중 하나를 언급
#define SOME_VAR 1
#define SOME_OTHER_VAR 1
실패 (한, 동봉 된 물건이 평가되지 않는 것처럼, 컴파일러가 충돌하거나 밖으로 오류 또는 아무것도하지 않습니다).
'&&'는'# ifdef'와 함께 작동하지 않는다는 점을 지적하면'# if'와'defined()'를 사용해야합니다 :-) – psmears