기본 패턴
c
#include <stdio.h>
#define MAX_BUFFER 256
#ifndef DEBUG
#define DEBUG 0
#endif설명
- 전처리기는 컴파일 전에 소스 코드를 치환하거나 포함하는 단계입니다.
#include는 다른 헤더 파일 내용을 현재 파일에 가져옵니다.#define은 매크로 상수나 간단한 치환 규칙을 만들 때 씁니다.#if,#ifdef,#ifndef는 특정 조건에서만 코드를 포함하도록 할 수 있습니다.
짧은 예제
c
#include <stdio.h>
#define SQUARE(x) ((x) * (x))
int main(void) {
int value = 5;
printf("%d\n", SQUARE(value + 1));
return 0;
}빠른 정리
| 항목 | 설명 |
|---|---|
#include | 헤더 파일 내용 포함 |
#define | 매크로 정의 |
#ifdef | 매크로가 정의되었을 때만 포함 |
#ifndef | 매크로가 없을 때만 포함 |
| 헤더 가드 | 중복 포함을 막는 전형적 패턴 |
주의할 점
함수처럼 보이는 매크로는 인자를 여러 번 평가할 수 있습니다. 복잡한 계산은 가능하면 함수나 inline 함수로 옮기는 편이 안전합니다.