정적 라이브러리 vs 동적 라이브러리

이샘미·2022년 9월 4일
0

sulmyoung

목록 보기
36/37

라이브러리란?

어떠한 기능들의 집합

정적 라이브러리(static) :

이는 컴파일시 모든 코드를 실행파일에 넣는 것
그로인해 시스템 환경 등 외부 의존도가 낮은 반면 코드 중복 등 메모리 효율성이 떨어지는 단점이 있음

동적 라이브러리(dynamic):

프로그램 실행시 필요한 DLL이라는 함수 정보를 통해 필요한 코드를 실행파일에 포함하는 것
그로인해 메모리 효율성이 좋지만, 외부 의존도라 높아진다는 단점이 있음
(*DLL: dynamic link library)

만약 정적 라이브러리를 사용한다면, 컴파일시 실행파일에 포함되기 때문에 처음부터 끝까지 라이브러리 + 실행파일 메모리양을 써야함.
그러나 동적 라이브러리를 사용한다면 실행될 때 포함되기 때문에 실행파일 메모리와 라이브러리 메모리가 따로 존재하게 된다.

그러면 어떤 방식을 사용해야할까?
자주 쓰는 라이브러리를 로드하는 실행파일이라면, 동적은 로드 및 언로드에 시간이 소요되기 때문에 정적을 사용하는 편이 낫다.

참고 : https://jaeyung1001.tistory.com/4

profile
가즈아

0개의 댓글