조건부 컴파일 어떻게 하는 건가요?

asdfghjkl의 이미지

책에 나와있는 조건부 컴파일 구성형태인데요.
책을 읽어도 무슨 내용인지 이해가 잘 안되네요. 초보라서...
간단한 예제하나만 적어주세요. 부탁함다.

책은 유명한 대영사 c언어프로그래밍 248페이지에 나오는 겁니다..

preprocessor-conditional:
 if-line text elif-parts else-part #endif

if-line:
	#if consiant-expression
	#ifdef identifier
	#ifndef identifier

elif-parts:
	elif-line text
	elif-parts

elif-line:
	#elif constant-expression

else-part:
	else-line text

else-line:
	#else
barmi의 이미지

먼저 각각에 대한 설명입니다.

#ifdef .. #endif : identifier가 정의되어 있으면 동작합니다.
#ifndef .. #endif : identifier가 정의되어 있지 않으면 동작합니다.

#if .. [#elseif ..] [#else .. ] #endif : 조건에 따라 동작합니다.

우선 다음 예제를 보시죠.

//#define _DEBUG

...
#ifdef _DEBUG
...
    printf("test....\n");
#else
...
#endif

위 코드는 다음과 같습니다.

//#define _DEBUG

...
#if defined( _DEBUG )
...
    printf("test....\n");
#else
...
#endif

#if를 사용하시면 다양한 조건에 따라 처리할 수도 있습니다.

이런식의 사용도 가능합니다...

#define DEBUG_LEVEL    1

....

#if DEBUG_LEVEL == 0
....
#elif DEBUG_LEVEL < 3
....
#else
....
#endif

직접 한번 해 보세요.