반응형
라이브러리란 소프트웨어를 개발할때 사용되는 함수, 클래스, 상수, 자료형 등의 집합으로 이루어진 파일이다.
라이브러리는 코드의 재사용을 위해 사용되고있으며 다른 프로그램에 링크되어 사용되어진다.
프로그램에서 라이브러리의 함수등을 사용 및 호출할때는 피호출자의 주소를 알아야되는데
이 주소가 결정되는 때에 따라 정적, 동적으로 나뉘어지고 컴파일, 링킹 시점이 정적, 런타임 시점이 동적이 된다.
동적 링크 라이브러리(DLL) 은 라이브러리의 일종으로 마이크로소프트 윈도우에서 구현된 동적 라이브러리이다.
DLL은 다른프로그램에서 불러와 사용할 수 있는 다양한 함수들과 클래스들로 이루어져있다.
DLL 을 로드하는 방법은 두가지가 있다.
- 묵시적 링킹 (Implicit Linking) : PE 파일 자체에 어떤 DLL의 어떤 함수를 사용하겠다라는 정보를 포함시키고,
프로그램이 실행되었을때 해당 함수들을 초기화하여 사용하는 방법 - 명시적 링킹 (Explicit Linking) : 프로그램이 실행되고있는도중 필요한 순간에 API를 사용하여
DLL 파일의 존재유무를 체크한뒤 동적으로 원하는 함수만 불러와 사용하는 방법
묵시적 링킹의 경우 컴파일러에 의해 자동으로 되는 경우가 많고, 명시적 링킹은 사용하고자 하는 DLL 이나 함수가
실행 환경에 있을지 없을지 잘 모르는 경우 또는 메모리 절약을 위해 사용한다.
반응형
'프로그래밍' 카테고리의 다른 글
JSON Response에 $id가 포함되는 문제 (0) | 2024.01.18 |
---|---|
정규표현식(Regular Expression)이란 무엇일까? (0) | 2023.02.22 |