• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

1.14 Conditional Compilation을 많이 쓰는 경우

23.05.07 18:18 작성 조회수 145

1

선생님께서 8:50 정도에,

Conditional Compilation을 많이 쓸 때는 이 프로그램이 build 시작하기 전에 윈도우즈든지 리눅스든지 좀 알고 시작하자 이럴 때라고 하셨습니다...

그런데 이게 무슨 뜻인지 잘 모르겠는데 혹시 구체적으로 설명해주실 수 있으실까요?ㅠㅠ

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.05.08

안녕하세요, 답변 도우미 Soobak 입니다.

조건부 컴파일(Conditional Compliation)은 설명처럼, 프로그램이 다양한 환경에서 실행되어야 할 때 특정 환경에 따라 코드를 변경할 필요 없이 프로그램을 빌드할 수 있도록 하는 데 사용됩니다.

예를 들어, 프로그램이 윈도우와 리눅스에서 모두 실행되어야 할 때, 조건부 컴파일을 사용하여 프로그램이 빌드되기 전에 어떤 운영체제 환경인지 알아내어, 해당 운영체제에 맞게 코드가 실행되도록 할 수 있습니다.

해당 강의의 주제인 전처리기 지시문을 활용하여 조건부 컴파일 예시 코드를 첨부드립니다.

#include <iostream>

int main()
{
  // 공통 코드

  #ifdef _WIN32
    cout << "윈도우 환경!\n";
    // 윈도우 전용 코드
  #elif __linux__
    cout << "리눅스 환경!\n";
    // 리눅스 전용 코드
  #endif

  return 0;
}