Coding

전처리기 《Preprocessor》

|--------3cm--------| 2021. 5. 21. 18:01

처리기(Preprocessor)란?

전처리기는 컴파일러가 실행되기 전에 지사자로 정의되어 있는 것을 프로세서에 등록하는 것으로 텍스트를 치환하는 역할을 하기도 하고, 디버깅에도 도움을 주며 헤더 파일의 중복 포함을 방지해 주는 기능을 가진 선행 처리기입니다.

 

지시자는 #include와 같이 #으로 시작하며 문장 끝에는 세미콜론(;)를 붙이지 않는 특징이 있습니다.

 

 

C언어의 전처리 지시자의 종류는 다음과 같습니다.

외부 파일 지시자 : #include

매크로 확장 지시자 : #define, #undef
조건부 컴파일 지시자 : #if, #else, #elif, #endif, #ifdef, #ifndef 
기타 지시자 : #error, #line

더보기

1. #include
-> 헤더 파일과 같은 외부 파일을 포함하고자 할 때 사용합니다.

2. #define, #undef
-> #define은 매크로 함수를 정의하거나 소스 코드 내에서 매크로 상수를 정의 하는데 사용됩니다.
-> #undef는 #define로 정의된 매크로 상수/함수를 해제하는데 사용합니다.

3. #if, #elif, #else, #endif
-> if와 else if 구문과 같은 역할을 합니다.
-> #if와 #endif는 반드시 짝을 이루어서 사용되어야 하고, #elif는 #if와 #endif사이에 원하는 횟수만큼 사용가능하며, #else를 사용할 경우에는 반드시 #endif 앞에서 한번만 사용 가능합니다.

4. #ifdef, #ifndef
-> #if와 #elif가 불린 표현식을 평가하는데 비해 이 지시자는 매크로 상수의 정의여부를 평가합니다.
-> #ifdef는 평가하고자 하는 매크로상수가 정의 되어 있을때 TRUE가 되고, #ifndef는 정의 되어 있지 않을때 TRUE가 됩니다.

5. #line
컴파일러가 내부적으로 유지하고 있는 라인번호와 파일이름을 변경합니다.

6. #error
fatal error를 발생시키고 전처리과정을 중단합니다.

 

 

'Coding' 카테고리의 다른 글

절대경로와 상대경로  (0) 2021.05.22
[VS Code] Extensions - Code Runner  (0) 2021.05.08
[Source Code Editor] VS Code《Visual Studio Code》  (0) 2021.03.13