c++
전처리기
풀스택 개발자
2020. 1. 13. 20:34
전처리기(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
}