- #define 매크로 사용
// define.h
#pragma once
#define SINGLETON(classname) public: \
static classname* GetInstance() \
{\
static classname instance; \
return &instance; \
}\
private: \
classname(); \
~classname(); \
classname(const classname&) = delete; \
classname& operator=(const classname&) = delete;
define.h 라는 헤더 파일을 따로 만들어주고
싱글톤 객체로 만드는 코드를 매크로로 만들어줌.
- 미리 컴파일된 헤더

비주얼 스튜디오에서 프로젝트를 우클릭한 뒤
속성 > C/C++ > 미리 컴파일된 헤더 > 미리 컴파일된 헤더
"사용 안함" 을 "만들기(/Yc)" 로 바꾸고 헤더 파일 이름도 pch.h 로 바꾸고(상관없음) 확인.

그리고 프로젝트에 해당 이름(pch.h)의 헤더 파일을 만들어줌.
// pch.h
#pragma once
// 미리 컴파일된 헤더
#include "define.h"

이제 모든 소스 파일에 #include "pch.h" 하도록 강제하는 효과가 남.
이렇게 하면 pch.h 에 선언된 헤더 파일들이 말그대로 미리 컴파일되는 듯.
// CCore.h
#pragma once
class CCore
{
SINGLETON(CCore)
};
그래서 이렇게 SINGLETON 매크로를 아무런 헤더 파일 없이 쓸 수 있음.
'Win32 api' 카테고리의 다른 글
| Win32 api 강의 10화. (0) | 2025.09.12 |
|---|---|
| Win32 api 강의 9화. (0) | 2025.09.12 |
| Win32 api 강의 7화. (0) | 2025.09.11 |
| Win32 api 강의 6화. (0) | 2025.09.11 |
| Win32 api 강의 5화. (0) | 2025.09.11 |