반응형
전처리기❓
C 언어의 전처리기(Preprocessor)는 코드 컴파일 이전에 소스 코드에 대한 특별한 처리를 수행하는 역할을 한다
주로 # 기호를 사용하여 전처리 지시문을 정의하고 전처리기에게 명령을 내리는데 아래에 C 언어의 전처리 지시문과 예시 코드를 살펴보자
예시코드
헤더 파일 포함 (Include)
#include <stdio.h>
이 지시문은 <stdio.h> 헤더 파일을 현재 소스 파일에 포함시키며 표준 입력/출력 함수인 printf와 관련된 정의를 제공한다.
매크로 정의 (Define)
#define MAX_VALUE 100
이 지시문은 MAX_VALUE를 100으로 정의하며 이후 코드에서 MAX_VALUE를 사용하면 컴파일러는 이를 100으로 대체한다.
조건부 컴파일 (Conditional Compilation)
#ifdef DEBUG
// 디버그 모드에서만 실행되는 코드
printf("Debug mode is enabled.\n");
#endif
#ifdef 지시문은 DEBUG 매크로가 정의되어 있는 경우에만 코드를 컴파일한다.
조건부 포함 (Conditional Inclusion)
#ifndef MY_HEADER_H
#define MY_HEADER_H
// 헤더 파일 내용
#endif
#ifndef 지시문은 MY_HEADER_H 매크로가 정의되어 있지 않은 경우에만 헤더 파일의 내용을 포함하고 이를 사용하여 헤더 파일 중복 포함을 방지한다.
문자열 결합 (String Concatenation)
#define CONCAT(a, b) a##b
## 연산자를 사용하여 매크로 인자를 결합한다.
문자열 리터럴 (String Literals)
#define MESSAGE "Hello, World!"
이렇게 정의된 매크로 MESSAGE는 "Hello, World!" 문자열로 대체된다.
이처럼 전처리 지시문을 사용하여 코드를 수정하거나 컴파일 시 조건부 코드를 활성화/비활성화할 수 있다.
반응형
'언어 > C' 카테고리의 다른 글
C언어 타입 캐스팅(type casting) (1) | 2023.10.30 |
---|---|
[C] gdb 를 이용한 디버깅 (0) | 2023.08.08 |
[C] 꼭 알아야 하는 포인터 개념 (0) | 2023.08.08 |