전처리기
cppreference.com
< cpp
전처리기는 컴파일이 시작되기 전에 작동됩니다. 전처리의 결과는 파일 하나로 만들어져 컴파일러에게 전달됩니다.
[편집]지시어
전처리 지시어는 전처리기가 어떻게 작동될지를 결정합니다. 전처리 지시어는 한 줄로 이루어져 다음과 같은 형식을 따릅니다:
#
문자- 전처리 명령어 (
define
,undef
,include
,if
,ifdef
,ifndef
,else
,elif
,endif
,line
,error
,warning
, {{tt|pragma} 중 하나) [1] - 인자들 (명령어에 따라)
- 줄바꿈
빈 지시어 (줄바꿈 다음에 있는 #
) 는 허용되고 아무 기능도 하지 않습니다.
[편집]호환성
전처리기는 소스 파일 번역 호환성이 있습니다:
- 소스파일의 일부를 조건적으로 컴파일 (
#if
,#ifdef
,#ifndef
,#else
,#elif
,#endif
지시어로 사용). - 식별자를 합치거나(concatenate) 참조할 수 있을 경우 텍스트 매크로를 치환 (
#define
,#undef
지시어와 연산자#
,##
로 사용) - 다른 파일을 인클루드 (
#include
지시어로 사용) - 경고를 일으킴 (
#warning
지시어로 사용) - 에러를 일으킴 (
#error
지시어로 사용)
전처리기의 다음과 같은 특성들을 조절 가능:
- 구현에 따라 다른 동작 (
#pragma
지시어로 사용) - 전처리기에서 사용 가능한 파일 이름과 라인 정보 (
#line
지시어로 사용)
[편집]Footnotes
- ↑이 명령어들은 표준에 의해 정의된 지시어입니다. 표준은 다른 지시어의 동작에 대해 정의하지 않습니다 (무시될수도 있고, 특별한 기능을 수행할 수도 있으며, 프로그램을 안 좋은 형태로 바꾸기도 합니다.)