C전처리와 빌드

전처리기 기본

`#include`, `#define`, 조건부 컴파일처럼 빌드 전에 동작하는 C 전처리기 기본 규칙을 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

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 함수로 옮기는 편이 안전합니다.