[라이브러리] 2. 동적 라이브러리

유기태·2023년 11월 29일
0

DirectX강의 필기

목록 보기
1/14

1. 동적 라이브러리

동적 라이브러리 이점

동적 라이브러리는 메모리에 한번만 올라가고 이 후에 필요한 곳에 링킹을 하므로
정적 라이브러리에 비해 메모리적으로나 시간적으로 이득을 보게됨

동적 라이브러리 작동 원리

동적 라이브러리는 lib, dll을 만들고 lib 파일에 적혀 있는 dll 파일을 찾아 암시적 링킹해줌 lib 파일로 인한 링킹을 안하고 dll 파일로 동적 링킹을 하기 위해서는 우선 실행 파일과 dll 파일이 같이 있어야함

// exe 파일과 같이 있는 동적 라이브러리 dll 파일에 정보를 가져옴
HMODULE hDllhandle = LoadLibrary(L"DynamicLib.dll");
// 
typedef void(*FUNC_TYPE)(int,int);
FUNC_TYPE pFunc = nullptr;

// 로드된 Dll 파일의 라이브러리 안에서 함수의 이름에 해당하는 함수를 찾아
// 함수 포인터로 가져옴
pFunc = (FUNC_TYPE)GetProcAddress(hDllHandle, "FUNC_NAME");

// 모든 부분에서 예외처리시 가져오지 못하면 nullptr 즉, 가져오지 못한 경우가 됨



// dll 정보가 로드된 커널 오브젝트 handle 오브젝트를 해제한다.
Free(hDllhandle);
profile
게임프로그래머 지망!

0개의 댓글