AS3에서는 별도의 Deber를 만들어 상태가 Debug가 true인 경우에만 실행하도록 사용하였다.
물론 C++에서도 이처럼 할 수 있지만 전처리기를 활용해본다.
우선 디버그 상태를 파악할 수 있는 _DEBUG라는 것을 C런타임 라이브러리에서 제공한다.
이를 검사하기 위해서는 아래와 같은 조건문을 사용한다.
[ 조건 대상의 값이 TRUE인 경우 ]
#ifdef _DEBUG
실행문
#endif
조건문 if이다 루틴은 우리가 알고 있는 그대로이다.
위처럼 DEBUG시에만 TRACE가 출력되도록 하고 싶으면 아래와 같이 하면 된다.
#ifdef _DEBUG
TRACE("RUN");
#endif
흔히 사용하는 조건문 처럼 else와 else if도 사용이 가능하다.
#ifdef _DEBUG
실행문1
#elseif XXX
실행문2
#else
실행문3
#endif
또한 논리연산자는 아래와 같이 사용한다.
#if defined (_DEBUG) || ( XXX )
실행문1
#elseif XXX
실행문2
#else
실행문3
#endif
[ 조건 대상의 값이 FALSE인 경우 ]
대상의 값이 FALSE인 경우에는 아래와 같이 조건문을 달리(n이 추가된다) 사용한다.
#ifndef XXX
실행문
#endif
위의 경우는 XXX 상태가 FALSE일 때 실행문이 실행한다.