작성자: yagur  rev: 1

#    define __SLASH(x) /##x
#    define __DOUBLE_SLASH __SLASH(/)
#ifdef _DEBUG
#    define _D
#    define _R __DOUBLE_SLASH
#else
#    define _D __DOUBLE_SLASH
#    define _R
#endif

int main(const int iArg, char* ppArg[])
{
    printf("Hello ");
_D printf("Debug Mode\n");
_R printf("Release Mode\n");
_R/*
    printf("Another Debugging code Start\n");
    printf("That code ends here!!\n");
_R*/
    getch();

    return 0;
}


_D는 디버깅시 실행할 코드이고 _R은 릴리즈시 실행할 코드입니다.
_R/*, _R*/는 릴리즈시 해당 블럭을 주석처리 하는 것입니다. 디버깅시엔 주석처리 되지 않습니다. 디버깅 코드를 항상 주석처리로 보이게 하고싶으신분께 약간 흥미로울수도 있겠군요. 반대로 _D/* , _D*/ 로 사용하실수도 있습니다.
  결과는 대충 예측하지만, 컴파일후 실행결과가 정확히 어떤지 궁금하신분은 아래 더보기를 누르세요.

더보기


Posted by yagur
TAG ,