전처리기(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 |