본문 바로가기

스터디/파이썬 해킹 프로그래밍

DLL 기초개념

http://xenostudy.tistory.com/6 출처의 내용으로 내용을 정리.

스터디 중에 나온 질문에 대한 답변 링크.


글쓴이 : Xeno

출처 : Visual C++ programming Bible Ver.6.x /MSDN



DLL 이란?


DLL(Dynamic Link Library)은 여러 함수의 공유 라이브러리로 사용되는 실행파일.

동적 링크를 통해 프로세스에서 해당 프로세스의 실행 코드에 포함되지 않은 함수를 호출할 수 있음.

함수의 실행코드는 DLL에 있음.

DLL에는 이것을 사용하는 프로세스와는 별도로 컴파일, 링크 및 저장되는 하나 이상의 함수가 포함되어 있음.

--> 여러 개의 응용 프로그램이 메모리에 있는 하나의 DLL 복사본 내용을 동시에 액세스 할 수 있음.



[+] 함수 이름과 주소를 매핑 & 익스포트 함수를 제공함.


--> 동적 링크는 DLL 함수의 실행 코드를 찾기 위해 런타임에 필요한 정보만을 실행 모듈(.DLL 또는 .EXE 파일)에 포함한다는 점에서 정적 링크와 다릅니다. 정적 링크에서는 링커가 정적 연결 라이브러리에서 참조되는 모든 함수를 가져와서 코드와 함께 실행 파일 안에 포함시킵니다.