포스트

라이브러리 파일의 개념과 종류

라이브러리 란

코드를 작성할 때 재사용 가능한 코드의 모음을 말합니다.
라이브러리는 특정 작업을 수행하는 함수, 클래스, 값, 자료형을 포함할 수 있습니다.
프로그래머는 라이브러리를 사용해 깨끗한 코드를 효율적으로 작성할 수 있을 뿐만 아니라
모든 기능을 직접 구현할 필요가 없기 때문에 개발 시간도 단축할 수 있습니다.

라이브러리는 일반적으로 특정한 언어로 작성되며, 작성된 언어로 개발되는 코드에서 사용할 수 있습니다.
라이브러리의 특징은 아래와 같습니다.

특징설명
재사용성재사용 가능한 코드를 재공하기 때문에 비슷한 코드를 반복해서 구현할 필요가 없습니다.
편의성특정 작업을 위한 라이브러리를 사용하면 프로그래머가 모든 것을 구현할 필요가 없습니다.
모듈성라이브러리를 사용함으로서 코드를 모듈화 시킬 수 있으며, 유지 보수를 쉽게 할 수 있습니다.
유출 방지코드를 외부에서 확인할 수 없도록 감춰 코드 유출을 방지할 수 있습니다.


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

라이브러리 파일은 정적 라이브러리 파일(.lib)동적 라이브러리 파일(.dll) 이 존재합니다.
두 라이브러리 파일은 위의 재사용성, 편의성, 모듈성, 유출 방지 4가지의 특징을 공통점으로 갖지만
아래 표와 같이 동적 라이브러리와 정적 라이브러리 파일은 여러 차이점이 존재합니다.

 동적 라이브러리정적 라이브러리
배포 파일실행 파일(.exe)과 함께 라이브러리 파일을 배포실행 파일(.exe)만 배포
코드 분리 여부.dll 코드와 .exe 코드가 분리필요한 코드를 프로그램에 결합
실행 파일(.exe) 크기코드 분리 덕분에 작음코드 결합때문에
메모리 적재 대상필요한 부분 만 메모리 적재
(실행 시간 단축)
모든 부분 을 메모리 적재
(실행 후 빠른 속도)
재배포 방법수정된 .dll 파일 만 배포프로그램 전체 를 재빌드 후 재배포


동적 라이브러리

동적 라이브러리(Dynamic link library)는 dll 확장자를 갖는 파일입니다.
실행 파일을 배포할 때, dll 파일도 함께 배포되며 실행시 사용되고
dll 파일의 코드와 실행 파일의 코드가 분리되어 있기 때문에 실행 파일의 크기가 작다는 특징이 있습니다.
그리고 프로그램이 실행되면 dll 파일에서 필요한 부분만 메모리에 적재되기 때문에
실행 시간을 단축할 수 있다는 특징도 있습니다.
마지막으로 라이브러리가 수정되어 재배포가 필요하면 수정된 라이브러리만 배포하면 됩니다.

정적 라이브러리

정적 라이브러리(Static link library)는 lib 확장자를 갖는 파일입니다.
이 라이브러리는 프로그램을 빌드할 때, 실행 파일에 결합되어 빌드되기 때문에 실행 파일만 배포합니다.
프로그램이 메모리에 적재될 때, 라이브러리의 코드도 전부 적재되어 실행 후 빠른 속도를 유지할 수 있습니다.
또한 실행 파일에 라이브러리가 결합되어 있기 때문에 .dll 파일을 사용했을 때 보다 실행 파일 크기가 큽니다.
마지막으로 라이브러리가 수정되어 재배포가 필요하면 프로그램 전체를 재빌드 후 재배포 해야한다는 특징이 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.