2021. 8. 16. 10:47ㆍC++
조건부 컴파일 (conditional compile)
1) 정의
- 소스코드를 조건에 따라 선택적으로 컴파일하는 전처리 지시자
2) 종류
[사용법]
#if 조건식
컴파일할 문장
- 가장 기본적인 조건부 컴파일
- #if문의 조건식이 참이면 #if와 #endif 사이의 모든 문장을 컴파일한다
//--------------------------------------------------------------
[사용법]
#if 조건식
컴파일할 문장 1
컴파일할 문장 2
//--------------------------------------------------------------
(3) #if ~ #elif ~ #else ~ #endif
[사용법]
#if 조건식 1
컴파일할 문장 1
#elif 조건식 2
컴파일할 문장 2
컴파일할 문장 3
//--------------------------------------------------------------
[사용법]
컴파일할 문장 컴파일할 문장
- 조건식에 매크로가 정의되어 있는지 검사할 때는
전처리 연산자인 defined를 사용한다.
- 만약 조건식에 해당하는 매크로의 정의를 취소하려면
#undef [매크로]를 #if문이 실행되기 이전에 기입한다.
//--------------------------------------------------------------
[사용법]
컴파일할 문장 컴파일할 문장
- 매크로명이 정의되어 있지 않은 경우를 확인할 때 사용한다
- #ifdef 나 #ifndef 은 매크로의 정의 여부만 확인할 수 있기 때문에,
다른 연산자와 함께 조건식을 만들 때에는 defined !defined으로 작성해야 한다.
//--------------------------------------------------------------
(6) #error
- 조건을 만족하지 않는 경우 컴파일 자체를 중단할 때는 #error 지시자를 사용한다
//--------------------------------------------------------------
(3) 특징
- 프로그램의 호환성을 좋게 만든다.
- c언어의 기본 문법은 같아도 컴파일러와 OS에 따라
자료형의 크기나 지원되는 라이브러리 함수가 다를 수 있음.
- 따라서 조건부 컴파일을 이용하여 코드를 구별하면
서로 다른 컴파일러 환경에서도 컴파일이 가능한 코드를 만들수 있다.
'C++' 카테고리의 다른 글
C++ 소소한 에러 / 콘솔창 / SDK 버전 (0) | 2021.08.16 |
---|---|
C++ 전처리 지시자 (0) | 2021.08.16 |
C++ STL (0) | 2021.08.14 |
C++ PlaySound (0) | 2021.08.14 |
C++ 클래스와 정보은닉 (0) | 2021.08.12 |