이어서!
1. Key 입력 정의 가져오기
Window에서는 키보드 입력을 가상 키코드로 받아 그 값에 따라 키 입력을 처리하거나 무시한다.
우리가 필요한 키코드는 winuser.h라는 가상 키 코드 헤더파일에서 볼 수 있었다.
각 키코드 값은 16진수 값을 가지고 있다.
기호 상수 이름은 VK_로 시작한다. (virtual keyboard)
꽤 직관적으로 이루어져 있어, 대부분은 유추할 수 있었고, msdn을 보며 원하는 키코드를 찾아봐도 좋다. (하단 링크)
우선은 필요한 부분이 포함된 부분까지만 복사해서 Core.h에 붙여 넣었다.
0x01에서 0x2F까지 포함하였다.
https://learn.microsoft.com/ko-kr/windows/win32/inputdev/about-keyboard-input
https://learn.microsoft.com/ko-kr/windows/win32/inputdev/virtual-key-codes
2. 메모리 누수 검사 기능 추가
C++은 동적 메모리 할당과 해제를 직접 해야한다. 그렇기 때문에, 해제하지 않은 경우들이 생기기도 한다.
이에 따른 Memory Leak을 해결하기 위하여 CRT 라이브러리로 메모리 누수를 찾는다.
이를 엔진 라이브러리 함수로 구현하여 재사용하자.
msdn에서 정말 친절하게 설명해준다.
우선, 다음 명령문을 포함시킨다.
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
헤더파일을 내보내기 때문에, inline 함수로 구현하였다.
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF )를 통하여
메모리 누수 보고서를 출력 창에 디버그를 출력해 준다.
//메모리 누수를 검사하여 출력 창에 띄우기
inline void CheckMemoryLeak()
{
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
}
다음 글!
2025.01.20 - [C++/공부] - [C++/Console Engine] WinAPI로 커스텀 콘솔 엔진 구현하기(4) Log
'C++ > 공부' 카테고리의 다른 글
[C++/Console Engine] WinAPI로 커스텀 콘솔 엔진 구현하기(5) 실행 프로젝트.exe 생성 후 설정 (0) | 2025.01.20 |
---|---|
[C++/Console Engine] WinAPI로 커스텀 콘솔 엔진 구현하기(4) Log (0) | 2025.01.20 |
[C++/Console Engine] WinAPI로 커스텀 콘솔 엔진 구현하기(2) PreCompiledHeader, DLL 헤더파일 추가와 매크로 (0) | 2025.01.17 |
[C++/Console Engine] WinAPI로 커스텀 콘솔 엔진 구현하기(1) 엔진 속성 설정 (0) | 2025.01.17 |
[C++] '::' Scpe operator 스코프 범위 지정 연산자 (0) | 2024.09.03 |