일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Two Points
- Dijkstra
- Stored Procedure
- two pointer
- MYSQL
- Trie
- 스토어드 프로시저
- String
- 이진탐색
- DP
- 다익스트라
- Hash
- SQL
- binary search
- 그래프
- Brute Force
- union find
Archives
- Today
- Total
codingfarm
1. DirectX12 초기화 - 장치 초기화 본문
장치 초기화 : GPU에게 명령을 넘기기 위한 사전 작업
오늘은 방대한 양의 API가 나올건데 한번에 다 익히려 하지 말것
우선 이전시간까지 비어있던 Engine 프로젝트에 Engine 폴더에 아래와같은 클래스 파일들을 추가해준다.
각 기능들을 파일 단위로 분리하는것이 플젝의 관리에 용이하다
이제 EnginePch에 출력 윈도우 창의 핸들과 너비, 높이 및 전체창 여부를 저장하는 값들을 추가해준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// EnginePch.h
// 이전 내용들...
//-----------------------
enum
{
SWAP_CHAIN_BUFFER_COUNT = 2
};
struct WindowInfo
{
HWND hwnd; // 출력 윈도우
int32 width; // 너비
int32 height; // 높이
bool windowed; // 창모드 or 전체화면
};
/*
class Engine;
extern unique_ptr<Engine> GEngine;
*/
extern unique_ptr<class Engine> GEngine; // GEngine이 존재함을 알려주는 역할
// EnginePch.cpp에 존재하므로 extern 확장자 사용
// Engine의 존재를 모르므로 class 키워드를 통해 전방선언
void HelloEngine();
|
cs |
25번째 줄에서 스마트 포인터의 type에 "class Engine" 키워드를 적음으로써 EnginePch에게 Engine에 대한 전방선언 없이 GEngine을 만든것을 볼 수 있다.
저런방법이 싫다면 아래처럼 적어도 된다.
class Engine;
extern unique_ptr<Engine> GEngine;
Comments