12
24
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
COMMENT