#pragma

2025. 5. 21. 19:19·C++ Programming/C Basic

`#pragma`는 전처리 구문 중에 하나이며 전처리 구문이란 간단하게 컴파일 이전 단계에 처리해야할 구문이라고 볼 수 있습니다. C++언어세 전처리 구문에는 `#pragma` 외에 대표적으로 `#define` , `#include` 등이 있고 해당 선언들을 보면 선언 앞에 # 기호가 붙어 있는데 C++에서 #기호가 앞에 붙어 있다면 전처리 지시자로 앞서 말했든 컴파일러가 번역을 하기전에 처리할 구문들 이라고 볼 수 있습니다.

#pragma

#pragma는 선언 뒤에 오는 내용에 따라서 전처리기에게 어떤 일을 하라는 명령을 내려줍니다. 선언 형태는 보통 `#pragma ____` 형태를 가지고 있습니다.. 뒤의 공백에 오는 키워드에 따라서 `#pragma`를 통해 실행 되는 기능이 달라지게 됩니다. 대표적으로 `once` , `comment` , `warning` , `message` 정도가 있으며 흔하게 볼 수 있는 구문으로는 `#pragma once` 가 있습니다.

#pragma once

`#pragma once`는 기본적으로 헤더파일을 생성하면 선언되어 있는 것을 볼 수가 있습니다. `#pragma` 뒤에 `once` 구문은 이러한 의미로 사용됩니다.


" 여기에 포함된 코드는 컴파일당 한 번만 포함됩니다."


프로그래밍을 하는 도중에 헤더 파일과 헤더 파일간의 중복 선언을 방지하기 위해서 사용합니다. 예를 들자면 A.h 가 B.h 와 C.h 를 가졌고 D.h가 B.h와 E.h를 가졌을때 A.h 에 D.h를 포함하는 경우에는 의도와 다르게 B.h 가 헤더가 중복 포함되어 에러가 날 수 있는 상황을 방지 막기 위해서 사용합니다.

'C++ Programming > C Basic' 카테고리의 다른 글

Smart Pointer(스마트 포인터)  (1) 2025.07.31
fmodf, remainderf  (0) 2025.07.20
lvalue, rvalue  (0) 2025.06.02
RTTI (Run-Time Type Information)  (0) 2025.05.27
포인터  (0) 2025.02.13
'C++ Programming/C Basic' 카테고리의 다른 글
  • fmodf, remainderf
  • lvalue, rvalue
  • RTTI (Run-Time Type Information)
  • 포인터
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (82)
      • Project (5)
        • Unreal (5)
        • DirectX (0)
      • Unreal (17)
        • Core Concepts (12)
        • Unreal For C++ (5)
      • C++ Programming (8)
        • C Basic (8)
      • DirectX (15)
        • Basic (11)
        • DirectX - Class (4)
      • Math & Physics (9)
        • Vectors (3)
      • Software Engineering (27)
        • Software Development Princi.. (24)
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
#pragma
상단으로

티스토리툴바