다음을 통해 공유


전처리기 지시문

#define 및 #ifdef와 같은 전처리기 지시문은 여러 실행 환경에서 소스 프로그램을 변경하기 쉽고 컴파일하기 용이하게 만들기 위해 일반적으로 사용됩니다. 소스 파일의 지시문은 특정 작업을 수행하도록 전처리기에 지시합니다. 예를 들어 전처리기는 텍스트에서 토큰을 바꾸거나, 다른 파일의 내용을 소스 파일에 삽입하거나, 텍스트 섹션을 제거하여 파일 일부의 컴파일을 억제할 수 있습니다. 전처리기 코드 줄은 매크로 확장 전에 인식되고 수행됩니다. 따라서 매크로가 전처리기 명령처럼 보이는 항목으로 확장되는 경우 해당 명령은 전처리기에서 인식되지 않습니다.

전처리기 문은 이스케이프 시퀀스가 지원되지 않는 것을 제외하고 소스 파일 문과 동일한 문자 집합을 사용합니다. 전처리기 문에서 사용되는 문자 집합은 실행 문자 집합과 동일합니다. 전처리기는 음수 문자 값도 인식합니다.

전처리기는 다음 지시문을 인식합니다.

#define

#error

#import

#undef

#elif

#if

#include

#using

#else

#ifdef

#line

#endif

#ifndef

#pragma

 

숫자 기호(#)는 지시문이 포함된 줄에서 공백이 아닌 첫 번째 문자여야 합니다. 공백 문자는 숫자 기호와 지시문의 첫 문자 사이에 나타날 수 있습니다. 일부 지시문에는 인수 또는 값이 포함됩니다. 지시문 다음에 오는 모든 텍스트(지시문의 일부인 인수 또는 값 제외)는 한 줄 주석 구분 기호(//)가 앞에 붙거나 주석 구분 기호(/* */)로 묶여야 합니다. 전처리기 지시문이 포함된 여러 줄은 줄의 끝 표식 바로 앞에 백슬래시(\)를 붙여 계속될 수 있습니다.

전처리기 지시문은 소스 파일의 어느 곳에나 나타날 수 있지만 소스 파일의 나머지 부분에만 적용됩니다.

참고 항목

참조

전처리 연산자

미리 정의된 매크로

기타 리소스

C/C++ 전처리기 참조