조건부 컴파일

2025. 3. 27. 23:43Programming 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;
}

 

'Programming Languages > C++' 카테고리의 다른 글

함수와 재귀  (0) 2025.03.27
챕터3. 실습문제  (0) 2025.03.27
제어 흐름 변경  (0) 2025.03.27
반복문  (0) 2025.03.27
제어문  (0) 2025.03.27