JJANG-JOON
article thumbnail
반응형

 

 

 

 

 

 

전처리기

 

 

 

 

 

 

 

 

 

 

 

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
profile

JJANG-JOON

@JJANG-JOON

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...