반응형

[MFC] HMODULE과 HINSTANCE의 차이점

반응형


HMODULEHINSTANCE는 16비트 윈도우에서 온 잔재입니다. 16비트 윈도우 환경에서 HMODULE과 HINSTANCE는


1. HMODULE : 코드 영역에 대한 처리

2. HINSTANCE : 데이터 영역에 대한 처리


16비트 윈도우는 시스템 전체가 단일 메모리 공간을 사용하였다고 합니다. 만일 동일 프로세스가 여러번 실행될 경우 메모리 절약을 위해 코드영역은 한번만 로드하고 데이터영역은 각 프로세스 별로 할당하는 방법으로 해결했죠. 각 프로세스 별로 할당한 영역을 처리하는 부분이 HINSTANCE입니다. 


하지만 32bit 윈도우는 프로세스별로 메모리 공간이 독립적으로 할당되기 때문에 코드영역, 데이터영역 모두 독립된 프로세스 메모리 영역에 할당됩니다. 따라서 HMODULE과 HINSTANCE 모듈의 구분이 의미가 없어졌죠. 따라서 32bit 환경에서는 HMODULE == HINSTANCE 같은 의미입니다.

32bit에서의 윈도우 HINSTANCE는 메모리 공간에 할당된 실행모듈의 베이스주소 (0x004)를 가리킵니다.


참고자료 : http://dstein.egloos.com/1907162

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY