CODEDRAGON ㆍDevelopment/C, C++
조건부 컴파일
· 특정 조건에 만족할 때만 코드가 컴파일되게 합니다.
· 매크로 상수를 검사하여 조건부 컴파일을 수행합니다.
조건부 컴파일 방법
· #if~#endif
· #if~#else~#endif
· #if~#elif~#else~#endif
· #ifdef~#endif와 #ifndef~#endif
#if ~ #endif 의 기본 형식
#if(CODE==1) result=num1/num2; printf("연산 결과: %lf\n", result); #endif |
전처리 지시자 |
#if #endif |
조건부 컴파일 수행 문장을 #if와 #endif로 묶음 |
조건식 |
(CODE==1) |
컴파일을 수행하기 위한 조건을 지정 |
컴파일 문장 |
result=num1/num2; printf("연산 결과: %lf\n", result); |
조건식이 ‘참’일 때 컴파일해야 하는 문장 삽입 |
#if~#else~#endif의 기본 형식
#if(CODE==1) result=num1/num2; printf("나눗셈 결과: %lf\n", result); #else result=num1*num2; printf("덧셈 결과: %lf\n", result); #endif |
전처리 지시자 |
#if #else #endif |
조건식 |
(CODE==1) |
컴파일 문장 |
result=num1/num2; printf("나눗셈 결과: %lf\n", result); result=num1*num2; printf("덧셈 결과: %lf\n", result); |
#if~#elif~#else~#endif의 기본 형식
#if(CODE<0) result=num1/num2; #elif(CODE==1) result=num1*num2; #else result=num1-num2; #endif printf("연산 결과: %lf\n", result); |
전처리 지시자 |
#if #elif #else #endif |
조건식 |
(CODE<0) (CODE==1) |
컴파일 문장 |
result=num1/num2; result=num1*num2; result=num1-num2; printf("연산 결과: %lf\n", result); |
#ifdef ~ #endif의 기본 형식
매크로 상수 ADD가 정의 되어 있다면 조건부 컴파일을 수행합니다.
#ifdef ADD result=num1+num2; printf("연산 결과: %lf\n", result); #endif |
전처리 지시자 |
#ifdef #endif |
매크로 이름 |
ADD |
컴파일 문장 |
result=num1+num2; printf("연산 결과: %lf\n", result); |
#ifndef ~ #endif의 기본 형식
매크로 상수 ADD가 정의 되어 있지 않다면 조건부 컴파일을 수행합니다.
#ifndef ADD result=num1+num2; printf("연산 결과: %lf\n", result); #endif |
전처리 지시자 |
#ifndef #endif |
매크로 이름 |
ADD |
컴파일 문장 |
result=num1+num2; printf("연산 결과: %lf\n", result); |
'Development > C, C++' 카테고리의 다른 글
배열(Array) (0) | 2018.08.07 |
---|---|
매크로(Macro) (0) | 2018.07.09 |
fgets( ) 함수와 fputs( ) 함수 (0) | 2018.06.26 |
변수(Variable), C - 변수의 종류 (0) | 2018.06.21 |
Visual Studio 2017 C++ 프로젝트 생성 - Windows Desktop Wizard (0) | 2018.06.17 |