조건부 컴파일
2025. 3. 27. 23:43ㆍProgramming Languages/C++
3.4 조건부 컴파일
3.4.1 #if, #ifdef, #ifndef 지시자
컴파일 시간에 조건에 따라 코드를 포함하거나 제외합니다.
예제:
#include <iostream>
// 디버그 모드 정의
#define DEBUG 1
int main() {
int x = 10;
#if DEBUG
std::cout << "디버그: x = " << x << std::endl;
#endif
// 또는
#ifdef DEBUG
std::cout << "디버그 모드 활성화" << std::endl;
#else
std::cout << "릴리스 모드" << std::endl;
#endif
// 정의되지 않았을 때
#ifndef RELEASE
std::cout << "릴리스 모드가 아님" << std::endl;
#endif
return 0;
}
3.4.2 #elif, #else 지시자
여러 조건에 따른 컴파일을 제어합니다.
예제:
#include <iostream>
#define PLATFORM 2 // 1: Windows, 2: Linux, 3: macOS
int main() {
#if PLATFORM == 1
std::cout << "Windows 플랫폼입니다." << std::endl;
#elif PLATFORM == 2
std::cout << "Linux 플랫폼입니다." << std::endl;
#elif PLATFORM == 3
std::cout << "macOS 플랫폼입니다." << std::endl;
#else
std::cout << "알 수 없는 플랫폼입니다." << std::endl;
#endif
return 0;
}