-
전처리기(preprocessor)는 프로그램을 컴파일할 때 컴파일 직전에 실행되는 별도의 프로그램이다. 전처리기가 실행되면 각 코드 파일에서 지시자(directives)를 찾는다. 지시자(directives)는 #으로 시작해서 줄 바꿈으로 끝나는 코드다.
전처리기는 컴파일러가 실행되기 직전에 단순히 텍스트를 조작하는 치환 역할을 하기도 하고, 디버깅에도 도움을 주며 헤더 파일의 중복 포함도 방지해주는 기능을 가진다.
#define(매크로)
#define PI 3.14라고 가정한다면 #define을 전처리기 지시자 라고 하며,PI를 매크로 상수 라고 한다
#include<iostream> using namespace std; #define MY_NUMBER 9//매크로 MY_NUMBER이라는 문자를 만나면 9로 바꿔버림 (교체) #define MAX "HELLO" #define add(a,b) a+b int main() { cout << MY_NUMBER; cout << endl; cout << MAX; cout << endl; cout << add(3, 4); cout << endl; }
헤더 가드 활용
#include<iostream> using namespace std; #define MY_NUMBER 9//매크로 MY_NUMBER이라는 문자를 만나면 9로 바꿔버림 (교체) #define MAX "HELLO" #define add(a,b) a+b #define LIKE int main() { cout << MY_NUMBER; cout << endl; cout << MAX; cout << endl; cout << add(3, 4); cout << endl; #ifdef LIKE//LIKE 전처리기 지시자가 정의 되어있으면 수행 cout << "APPLE"; #endif // LIKE #ifndef LIKE//LIKE 전처리기 지시자가 정의 되어있지 않으면 수행 cout << "ORANGE"; #endif // LIKE }