조건부 컴파일(조건부 전처리 명령어) : 조건에 맞지 않으면 컴파일에서 제거. 조건에 맞지 않으면 소스차체가 없는 것과 같은 효과
이 조건부 전처리에서 조건이 거짓이라면 전처리기에 의해서 거짓에 해당하는 소스 코드쪽의 코드가 없어진다.
#if 계통, #ifdef 계통, #ifndef 계통
1. #if 계통 사용
#if 조건식 (실행문)
#elif 조건식 (실행문)
#else (실행문)
#endif
#if 조건식은 if 와 동일
조건식이 참이면 실행문을 실행하고 거짓이면 실행문을 실행하지 않는다.
#elif 또한 else if 와 동일
#else 는 else 처럼 위의 조건식이 다 거짓일때 실행
#endif는 #if의 끝을 표현한다
2. #ifdef, ifndef 계통 사용
이 조건부 전처리 명령어는 해당 매크로가 정의 되었느냐 안되었느냐만 본다.
#ifdef 매크로명 (실행문1)
#else (실행문2)
#endif
#ifndef 매크로명 (실행문)
#else (실행문)
#endif
#ifdef는 매크로가 정의 되어 있으면 실행문1을 남겨주고, 정의 되지 않았으면 실행문2를 남겨둔다.
#ifndef 매크로가 정의 되어 있지 않으면 실행문2를 남겨둔다.
참조 - http://blog.naver.com/highkrs/220470948236 || http://blog.naver.com/ms_bk/220053628917
'Study' 카테고리의 다른 글
TCP/IP (0) | 2017.06.15 |
---|---|
프론트엔드와 백엔드 (0) | 2017.05.31 |
OSI 7 계층 (0) | 2017.05.31 |
call by value/ reference (0) | 2014.11.24 |
어레이 리스트 맵 (0) | 2014.11.24 |