Window DLL 개념 및 사용이유?
안녕하세요!! 입니다.
오늘은 DLL 의 개념에 대해 포스팅 해보겠습니다.
DLL 이란?
Dynamic Linking Library의 줄인말로서
동적으로 링크해서 사용하는 라이브러리를 말합니다.
여기서 동적이란 프로그램 실행 중에 링크 된다는 의미를 가집니다.
프로그램을 작성하여 빌드 할때 처음에 .c 혹은 .cpp 파일을 빌드하여 .obj 파일을 만들고 관련 오브젝트를 모아 링크하여 .exe 파일을 만들게 됩니다. 여기서 링크란 빌드 시점에 이루어 지는 정적인것을 말합니다. 하지만 DLL 의 경우는 빌드시점에 링크되는것이 아니라 빌드된 실행 바이너리 파일이 실행 중에 코드 따라 외부 라이브러리에 링크 되거나 링크 되지 않을수 있습니다.
그럼 DLL 은 왜 사용할까요?
개발을 나눠서 할때
4명이 개발을 한다고 가정해봅시다.
한명은 UI를 만들고 나머지는 각각 A,B,C . dll을 만들어 UI에 연결 시키기만 하면 되니 효율성이 높아집니다.라이브러리 공유
A기능을 하는 A.dll 을 만들었다면 다음에 A기능을 필요로 하는 dll을 만들 필요는 없습니다.
A.dll을 가져와서 계속 사용하면 되기 때문이죠.메모리를 적게 사용
보통 프로그램이 실행되면 .exe 파일과 .dll 파일이 함께 필요합니다.
그렇다면 만약 A.exe + c.lib , B.exe + c.lib 을 실행 한다면
메모리에는 총 4개의 공간을 차지하게 됩니다.
하지만 A.exe , B.exe , dll 을 사용하게 된다면
dll을 참조해서 사용하면 되기 때문에 총 3개의 공간을 차지하게 됩니다.
결국 메모리 효율성이 증가 하게 되는것이죠.
tip)
참고로 dll의 경우 참조 카운터가 존재하게 되는데
dll을 참조할때 마다 참조 카운터가 증가하고 해제 할때 마다
카운터가 감소하게 됩니다.
참조 카운터가 0이 되면 메모리에서 내려오게 됩니다.
Leave Window DLL 개념 및 사용이유? to:
Read more #kr-dev posts
Best Posts From 워니
We have not curated any of wonnieyoon's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From 워니
- c언어 절대값 구하기 abs()
- 32bit vs 64bit 컴퓨터와 포인터!!
- 문자셋의 종류와 특성에 대해 알아보자!
- 우리가 실행하는 프로그램 어떻게 만들어질까?
- [MFC] LPSTR,LPCSTR,LPCTSTR .. 과연 무엇인가?
- 알고리즘 : 선택 정렬(Selection Sort)
- 비트논리 연산자 어디에 사용할까?
- "적당한 음주는 건강에 좋아" 라는 말 들어보셨죠?
- 새가 아닌 거미도 하늘을 날수있다?
- 알면 알수록 놀라운 식물의 위장술!!
- 피부주름이 잘 생기는 혈액형은 B?
- 하루 마무리는 시 한편 #2. 백년
- 하루 마무리는 시 한편 #1. 사랑의 물리학
- 버퍼(Buffer)와 버퍼링(Buffering)
- 진드기 말고 진딧물 아시나요?
- Compile의 과정!!
- Window DLL 개념 및 사용이유?
- 16진법 왜 사용할까?
- 고팍스 & CoinEx 이벤트 !! 많은 참여하세요.
- 구로디지털단지 멘무샤~~