76.6 연습문제: 파일 포함하기

다음 소스 코드를 완성하여 디버그 메시지가 출력되게 만드세요(소스 코드와 같은 경로에 debug.h 헤더 파일이 있습니다).

debug.h

#ifdef DEBUG
#define ENABLE_DEBUG_MESSAGE
#endif

practice_include.c

#include <stdio.h>

#ifndef DEBUG
______________________
#endif

#include ②_________

int main()
{
#if defined DEBUG && defined ENABLE_DEBUG_MESSAGE
    printf("Debug: %s %s %s %d\n", __DATE__, __TIME__, __FILE__, __LINE__);
#endif

    return 0;
}

실행 결과

Debug: Oct  6 2015 23:30:18 c:\project\hello\practice_include\practice_include.c 14

정답

 #define DEBUG
 "debug.h"

해설

디버그 메시지를 출력하는 printfDEBUGENABLE_DEBUG_MESSAGE가 정의되어 있을 때 출력됩니다. 먼저 ENABLE_DEBUG_MESSAGE가 정의되어 있는 debug.h 헤더 파일을 #include로 포함해줍니다. 그리고 debug.h 헤더 파일 안에는 DEBUG가 정의되어 있어야 ENABLE_DEBUG_MESSAGE도 정의되도록 만들어져 있으므로 #include 위에서 #define으로 DEBUG를 정의해주면 됩니다. 여기서 #ifndef DEBUG는 위에 아무것도 정의되어 있지 않으므로 조건을 만족합니다.