강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

나그네님의 프로필 이미지
나그네

작성한 질문수

홍정모의 따라하며 배우는 C++

1.14 전처리기와의 첫 만남

1.14 Conditional Compilation을 많이 쓰는 경우

해결된 질문

작성

·

246

1

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

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

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

답변 1

2

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

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

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

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

#include <iostream>

int main()
{
  // 공통 코드

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

  return 0;
}

 

 

나그네님의 프로필 이미지
나그네

작성한 질문수

질문하기