윈도우프로그래밍2012. 8. 16. 10:50

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일 때 실행문이 실행한다.

 

Posted by 버터백통