전체 글330 7-1. DllMain 기본 개념 DllMain DLL에는 DllMain이라는 함수를 만들 수 있는데 필수는 아님. hInstDLL - dll의 모듈 핸들, DLL이 프로세스 가상 메모리에 로드됐을 때 그 시작 주소 fdwReason - 어떤 이유로 DllMain이 호출되었는지에 대한 내용 lpvReserved - 명시적 링킹인지, 암시적 링킹인지를 구분짓는 매개변수임 (명시적 (LoadLibrary) 호출이면 0, 아니면 0이 아닌 값) fdwReason에 대한 상세 내용 DLL_PROCESS_ATTACH : DLL이 처음 프로세스에 매핑될 때 (LoadLibrary 등) DLL_PROCESS_DETACH : DLL이 프로세스에서 언로드될 때 (FreeLibrary 등) DLL_THREAD_ATTACH : 매핑된 프로세스에서 쓰레드를 .. 2022. 9. 21. [PUSH PUSH] 게임 구조 파악 및 설계 - AssortRock 10일차 오프라인 수업_220920 1, 게임 전반적 흐름을 관리할 관리자 객체 만들기 새 필터 -> HighLevel_Interface를 만들고 클래스 Application 추가 //Application.h #pragma once class Application { public: Application(); ~Application(); bool Initialize(); void Update(); void Rendering(); void Destroy(); private: }; //Application.cpp #include "Application.h" Application::Application() { } Application::~Application() { } bool Application::Initialize() { return tru.. 2022. 9. 21. CPP_1. AssortRock 9일차 오프라인 수업_220919 해시 테이블 Direct Addressing Table : 값을 인덱스로 사용하는 방식 ('A' = 65이므로 65번 인덱스로 'A'의 유무를 체크) 이 방식을 다른 말로 해시테이블이라고 한다. 해시테이블은 해시 함수가 있는데 문자를 넣어주면 고유의 식을 이용하여 결과물을 반환해준다. 해시테이블의 장점은 암호화를 할 수 있고 속도가 빠름 단점은 다른 값에 대해 동일한 해시값이 나올 수 있음 그럼 해시 충돌이 발생하고 그걸 연결 리스트로 주렁 주렁 연결함 이걸 해시 체이닝이라고 한다(면접 단골 질문) 연산자 오버로딩에 대하여 사용자정의 타입에 대해 덧셈 뺄셈을 하려면 인자를 빼서 걔네끼리 더해주고 빼주고 해야 함 클래스와 클래스 간의 연산을 하고 싶다면? Vector2 v3 = v1 + v2 반환값 ope.. 2022. 9. 20. 6-2-3. Critical Section 실습 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; CRITICAL_SECTION cs; int totalCount = 0; UINT threadProc(void* p) { totalCount++; int count = totalCount; static int value = 0; printf("%d번째 쓰레드 진입.. value = %d\n", count, value); EnterCriticalSection(&cs); for (int i = 0; i < 100; i++) value += 1; LeaveCriticalSection(&cs); printf("\t%d번째 쓰레드 종료.. .. 2022. 9. 20. 이전 1 ··· 67 68 69 70 71 72 73 ··· 83 다음