다음 코드로 설명을 하죠. 앞의 숫자는 쉽게 이해하기 위해 임시로 적어 놓은 라인 번호입니다.
_______________________________
01:#define _DEBUG
02:
03:func()
04:{
05: #ifdef _DEBUG
06: printf("디버그 모드\n");
07: #endif
08:
09: #ifndef _DEBUG
10: printf("일반 모드\n");
11: #endif
12:}
--------------------------------

#ifdef _DEBUG는 _DEBUG가 #define문으로 정의 되어 있다면 아래라인 부터 #endif전 라인까지 포함시키라는 전처리
  지시어입니다.

#ifndef _DEBUG는 _DEBUG가 #define문으로 정의 되어 있지 않다면 아래라인 부터 #endif전 라인까지 포함시키라는 전처리
  지시어입니다.

첫번째 라인에서 #define _DEBUG "_DEBUG"를 정의해 주었으므로
#ifdef _DEBUG ~ #endif사이는 포함이 될것이고 #ifndef _DEBUG ~ #endif 사이는 포함이 안 될것입니다.
아래는 전처리기로 처리된 소스입니다.

_______________________________
02:
03:func()
04:{
06: printf("디버그 모드\n");
08:
12:}
--------------------------------


※ 출처 : http://babuzzzy.tistory.com/entry/ifdef-와-endif-이해하기

'P rogramming > C Language' 카테고리의 다른 글

Call by Value & Call by Reference  (0) 2011.10.04
argc & argv - Agument Count & Value  (0) 2011.09.29
자료형 크기 정리  (0) 2011.07.07
시스템 IP 얻어오기  (0) 2011.06.16
time() - 시스템 시간값 가져오기  (0) 2011.06.16
by 민트앤라떼 2011. 9. 29. 10:44