Learning Space/C++
[C++ NOTE] pragma
JONNY ALOHA
2023. 2. 23. 00:21
#pragma once
소스 코드 파일을 컴파일 할 때 컴파일러에 헤더 파일이 한 번만 포함되도록 지정한다. 여러 번 include 될 경우, 그때마다 정의가 추가되어 중첩되는 문제가 발생할 수 있다.
단, 일부 구형 컴파일러에서는 지원을 안하는 경우가 있어서 안전성과 범용성을 보장하지 않는다.
유사한 기능을 가진 코드 - #ifndef
#ifndef HEADER_H_ // equivalently, #if !defined HEADER_H_
#define HEADER_H_
// Code placed here is included only once per translation unit
#endif // HEADER_H_
#ifndef는 if not defined와 같은 의미로 해당 구간에 있는 헤더 파일에 대해 헤더 파일이 열린 적이 없으면 열리게 한다.
* 본 문서는 학습을 하며 기록하기 위함이 목적이므로 기능 해석에 있어서 정확하지 않은 정보가 있을 수 있습니다. 참고하여 사용하시기 바랍니다.
https://learn.microsoft.com/ko-kr/cpp/preprocessor/once?view=msvc-170
728x90