조건부 컴파일
공부 : c언어 코딩도장
공부 : c언어 코딩도장
// 매크로가 정의되어 있을 때 컴파일 // DEBUG 매크로가 정의되어 있을 때 컴파일 #ifdef 매크로 #ifdef DEBUG 코드 printf("Debug\n"); #endif #endif // 매크로가 정의되어 있지 않을 때 컴파일 // DEBUG 매크로가 정의되어 있지 않을 때 컴파일 #ifndef 매크로 #ifndef DEBUG 코드 printf("Hello, world!\n"); #endif #endif // 값 또는 식이 참일 때 컴파일 // DEBUG_LEVEL이 2 이상일 때 컴파일 #if 값 또는 식 #if DEBUG_LEVEL >= 2 코드 printf("Debug Level 2\n"); #endif #endif // 조건이 항상 거짓이므로 컴파일 하지 않음 #if 0 printf("0\n"); #endif // 조건이 항상 참이므로 컴파일함 #if 1 printf("1\n"); #endif // 매크로가 정의되어 있을 때 컴파일. // !, &&, ||로 논리 연산 가능 // DEBUG 또는 TEST가 정의되어 있을 때 컴파일 #if defined 매크로 #if defined DEBUG || defined TEST 코드 printf("Debug\n"); #endif #endif // DEBUG가 정의되어 있으면서 // VERSION_10이 정의되어 있지 않을 때 컴파일 #if defined (DEBUG) && !defined (VERSION_10) printf("Debug\n"); #endif // if, elif, else로 조건부 컴파일 // DEBUG_LEVEL의 값에 따라 컴파일 #if 조건식 #if DEBUG_LEVEL == 1 코드 printf("Debug Level 1\n"); #elif 조건식 #elif DEBUG_LEVEL == 2 코드 printf("Debug Level 2\n"); #else #else 코드 printf("Hello, world!\n"); #endif #endif // if, elif, else로 조건부 컴파일 // PS2, USB 정의 여부에 따라 컴파일 #ifdef 매크로 #ifdef PS2 코드 printf("PS2\n"); #elif defined 매크로 #elif defined USB 코드 printf("USB\n"); #else #else 코드 printf("지원하지 않는 장치입니다.\n"); #endif #endif
댓글
댓글 쓰기