dll

윈도우의 기본이 되는 win32API 역할을 하는 DLL 파일들

sungtg 2008. 8. 25. 10:19

kernel32.DLL

하드웨어가 사용하는 메모리와 사용자가 사용하는 메모리로 윈도우의 메모리 운영이 나누어져 있다는것은
지난 번에 말씀을 드렸습니다.
아래 그림은 일반적인 웹에서 구현되는 프로그램들의 실행 흐름을 보여주는 다이어그램인데

밑에 kernel mode단에서 각종 프로토콜. 그리고 하드웨어 드라이버들이 있고
그 위에 user mode라고 해서 실제로 사용자가 프로그램을 실행하는 윈도우가 되는데..
아래 kernel mode 에서 user mode로 넘어오는 부분의 하단에 Ntdll.dll 이 있는데..

ntdll.dll 파일은 윈도우가 부팅되면서  커널메모리 영역을 사용할 수 있게끔 해주는 중요한 역할을 합니다
ntdll.dll 파일과 kernel32.dll 파일은 한 몸이라고 볼 수 있습니다.
모든 프로그램은 항상 ntdll.dll 파일과 kernel32.dll 파일을 사용하게 되어 있습니다.
아니 여기에 나오는 dll 파일은 항상 프로그램이 실행되면 사용하게 되어 있습니다.

사용자 삽입 이미지

gdi32.DLL

윈도우에서 그림을 마우스움직임, 그림, 화면등 GUI (graphic user interface)의 가장 기본이 되는 dll 파일입니다. 윈도우에서 그림을 그릴 수 있는 기반이 바로 이 파일입니다. 동그라미, 타원형, 네모등등 ..
그래픽카드 드라이버를 설치하다 보면 GDI라는 용어를 많이 들어 봤을 겁니다.
GDI가 윈도우의 API 함수명으로 사용되기 때문에 일반적으로 사용하는 것입니다.


user32.DLL

프로그램이 실행될 때 gdi32.dll 파일과 드라이버를 불러주는(WIN32K.SYS)을 호출하는 역할을 합니다. 만약 게임을 사용하는데 이 파일을 못쓴다면 아무리 좋은 그래픽카드라도 소용이 없겠지요. 아마 실행자체가 안되겠지만...

MSVCRT.DLL

이 파일에러가 제일 많을 것으로 압니다.
예를 들어 C 로 만든 게임 프로그램이 있다고 가정하면.. 게임이 만들지기를 윈도우에서 기본적으로
제공하는 C 라이브러리를 가지고 있는 stdlib.dll 파일과 msvcrt.dll 이 파일을 임포트라고 해서 만들었을 겁니다.
stdlib.dll 파일도 가끔 에러가 걸렸을 겁니다. msvcrt.dll 파일에는 프로그램을 할 때 먼저 선언하는 부분이
있는데 바로 헤더 부분이 들어가 있는 파일입니다. stdio.h, string.h, stdlib.h, etc 등
마우스, 키보드, 모니터등 기본적으로 프로그램에서 사용하는 하드웨어와 그래픽 등등
가장 기본적인 장치들을 선언하는 내용이 들어가 있는데 찾을 수 없거나 읽을 수 없다면
당연히 프로그램이 실행 안되겠지요..

WS2_32.DLL

윈도우소켓을 구동하는 파일입니다. 윈도우에 익스플로러가 내장되면서 만들어 진 것입니다.
네트워크 컴퓨팅을 하기 위한 밑거름이라고 할 수 있지요
인터넷이 ip나 tcp 프로토콜을 사용하는데.. 이것을 윈도우에서 연결시켜주는 파일입니다.

이 외에도 좀 더 있지만
위에 파일들은 윈도우의 부팅에도 직접 관계가 있는 파일들이라서...
뽑아서 설명을 해봤습니다.