728x90
1. #if, #else, #endif
1) 특정 조건이 만족할 때만 코드를 컴파일함 |
2) 상황에 따라서 특정 코드를 컴파일하게 또는 컴파일하지 않게 만들 수 있음 |
3) 이식성 있는 코드를 개발할 때 유용함 |
형식 :
#if 조건식
문장;
#endif
4) #if의 조건식에는 매크로를 정수와 비교하는 관계 연산자가 주로 사용되고, 산술 연산자, 논리 연산자 등이 사용될 수 있음 |
![]() |
5) if의 조건식에서 매크로를 실수나 문자열과 비교할 수 없음 |
![]() |
6) #if에는 반드시 짝이 되는 #endif가 필요하며, #else를 함께 사용할 수도 있음 |
![]() |
7) #if, #endif에서는 컴파일할 문장이 여러 개여도 {}로 묶어줄 필요가 없음 |
![]() |
8) #if안에 다른 #if를 중첩해서 사용할 수 있으며, 각각의 #if마다 #endif가 하나씩 짝을 이루어야 함 |
2. #ifdef
1) "if defined"라는 의미 |
2) #ifdef는 특정 매크로의 정의 여부에 따라 #ifdef와 #endif 사이의 문장을 컴파일할지 결정 |
형식 :
#indef 매크로명
문장;
#endif
3) DEBUG 매크로 정의 시에만 함수 정보를 출력하는 경우 |
![]() |
4) 출력문에 수행되려면 DEBUG 매크로 정의가 필요함 |
![]() |
3. #ifndef
"if not defined"라는 의미
#ifnded 다음의 매크로가 정의되지 않은 경우에만 #ifndef와 #endif 사이의 문장이 컴파일
728x90
'프로그래밍 언어 > C언어' 카테고리의 다른 글
라이브러리 (0) | 2021.12.28 |
---|---|
애플리케이션 최적화 (0) | 2021.12.28 |
매크로 (0) | 2021.12.24 |
고급 포인터 배열 기술 (0) | 2021.12.24 |
포인터 배열 기초 (0) | 2021.12.24 |