1) 조건부 컴파일
전처리문이므로 컴파일되기 전에 조건을 평가하며 코드를 컴파일 대상에 포함시키거나 제외시키는 역할을 한다. 이때 조건의 형태는 여러 가지가 있지만 주로 매크로 상수의 존재 여부나 값에 대한 평가식이 사용된다.
#ifdef, #ifndef
2) #if
if는 매크로의 값을 평가하거나 여러 가지 조건을 결합하여 컴파일 여부를 결정하는 좀 더 복잡한 전처리문이다
#if 조건1
코드1 // 조건1을 만족하면 코드1을 컴파일
#elif 조건2
코드2 // 조건 2가 만족되면 코드2를 컴파일
#else
코드3 // 둘 다 맞지 않으면 코드 3을 컴파일
#endif
(1) 상등, 비교 연산자 사용이 가능하다.
==, != , >, <, >=, <=
(2) 비교 대상은 정수 상수만, 실수, 문자열은 안됨
(3) 논리 연산자 사용 가능
&&, ||, !
ex) #if (LEVEL == 8 && VER != 3)
(4) defined 연산자로 매크로의 존재 여부를 평가 할 수 있다.
ex) #if (LEVEL == 8 || defined(PROFESSIONAL))
ex) #if (defined(_DX_8) || defined(_DX_9))
[출처] #if defined 사용법|작성자 clous02
'컴퓨터 > C' 카테고리의 다른 글
[C언어][개발역량평가] printf 서식 문자 (0) | 2013.08.19 |
---|---|
[Linux] GCC 사용 예제 (0) | 2013.08.09 |
[C언어] 가변인자함수 (0) | 2013.02.18 |
[C언어] scanf 기본 서식문자 조합 (0) | 2013.02.16 |
[C언어] Printf 의 %lf, %f와 Scanf의 %lf, %f의 차이 (2) | 2013.02.16 |