"라이브러리"의 두 판 사이의 차이
(→목적) |
|||
6번째 줄: | 6번째 줄: | ||
==목적== | ==목적== | ||
− | 라이브러리(library)는 소스코드 재사용을 위해 조직화된 초기 방법 중의 하나이며 많은 다른 프로그램들에서 사용할 수 있도록 운영체계나 소프트웨어 개발 환경 제공자들에 의해 제공되는 경우가 많다. 라이브러리는 사용자의 프로그램과 링크되어 실행이 가능한 완전한 프로그램을 이룬다. 또한 라이브러리 내에 있는 루틴들은 범용적으로 사용 가능하며, 3차원 애니메이션 그래픽과 같은 특별한 용도의 함수로도 설계될 수 있다. <ref name=" | + | 라이브러리(library)는 소스코드 재사용을 위해 조직화된 초기 방법 중의 하나이며 많은 다른 프로그램들에서 사용할 수 있도록 운영체계나 소프트웨어 개발 환경 제공자들에 의해 제공되는 경우가 많다. 라이브러리는 사용자의 프로그램과 링크되어 실행이 가능한 완전한 프로그램을 이룬다. 또한 라이브러리 내에 있는 루틴들은 범용적으로 사용 가능하며, 3차원 애니메이션 그래픽과 같은 특별한 용도의 함수로도 설계될 수 있다. <ref name="실릭">〈[https://cillic.tistory.com/5 동적라이브러리란?]〉, 《개인사이트》, 2016-07-13 </ref> |
==특징== | ==특징== | ||
15번째 줄: | 15번째 줄: | ||
===동적 라이브러리(dynamic library=== | ===동적 라이브러리(dynamic library=== | ||
+ | 동적 라이브러리(dynamic library)는 소프트웨어의 일종으로, 동적 링크를 사용한 라이브러리이다. 여러 프로그램이 공통적으로 필요로 하는 기능들을 프로그램과 분리하여 필요할 때에만 불러내어 쓸 수 있게 만들어 놓은 라이브러리를 의미한다. 마이크로소프트 윈도우에서는 동적 링크 라이브러리라고 해서 확장자가 DLL인 파일로 제공되고 있으며, 리눅스에선 /lib 밑의 .so 파일 등으로 구현된다. 개인이 자유 소프트웨어 등을 작성할 때에 만들기 쉽게 하기위해 작성하여 무료로 제공되는 것도 있다. <ref name="위키백과">〈[https://ko.wikipedia.org/wiki/%EB%8F%99%EC%A0%81_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC 동적라이브러리]〉, 《위키백과》, 2020-04-02 </ref> | ||
+ | |||
+ | ====장단점==== | ||
+ | *'''장점''' | ||
+ | 동적 라이브러리는 첫째, 메모리를 절약할 수 있으며, 스와핑을 줄여준다. 여러 프로세스가 메모리에 있는 하나의 DLL 복사본을 공유하여 하나의 DLL을 동시에 사용할 수 있다. 두번째, 디스크 공간도 절약할 수 있다. 여러 응용 프로그램이 디스크에 있는 하나의 DLL 복사본을 공유할 수 있다. 세번째, DLL을 쉽게 업그레이드할 수 있다. DLL의 함수가 변경되어도 함수의 인수 및 반환 값이 변경되지않았다면 그 함수를 사용하는 응용 프로그램은 다시 컴파일하거나 링크를 할 필요가 업다. 네번째, 출시 후에 지원이 가능하다. 예를들면, 응용 프로그램을 출시할 때 사용할 수 없었던 디스플레이 기능을 지원하도록 디스플레이 드라이버 DLL을 수정할 수 있다. 다섯번째, 언어 형식이 다른 여러 프로그램을 지원한다. 서로 다른 프로그래밍 언어로 작성된 프로그램인 경우에도 함수의 호출 규칙을 따르기만 한다면 여러 프로그램에서 동일한 DLL 함수를 호출할 수 있다. 이 경우 각 프로그램과 DLL 함수는 여러 부분에서 호환될 수 있어야 한다. <ref name="실릭"></ref> | ||
+ | |||
+ | *'''단점''' | ||
+ | 동적 라이브러리의 단점으로는 첫째, 외부 의존도가 발생하기 때문에 이식성이 어렵다. 둘째, 성능저하가 발생한다. 공유 라이브러리를 메모리에 올리려면 해당 라이브러리르 찾고 올리는데까지 생기는 시간으로 인해 성능저하가 발생하게 된다. <ref name="실릭"></ref> | ||
{{각주}} | {{각주}} |
2020년 9월 2일 (수) 10:26 판
라이브러리(library)란 다른 프로그램에 링크되어 특정한 기능을 수행하도록 작성된 하나의 프로그램 코드 파일이다. 모듈(module) 또는 컴포넌트(component)보다 기능이 단순하고, 파일 사이즈가 작다.
목차
개요
역사
목적
라이브러리(library)는 소스코드 재사용을 위해 조직화된 초기 방법 중의 하나이며 많은 다른 프로그램들에서 사용할 수 있도록 운영체계나 소프트웨어 개발 환경 제공자들에 의해 제공되는 경우가 많다. 라이브러리는 사용자의 프로그램과 링크되어 실행이 가능한 완전한 프로그램을 이룬다. 또한 라이브러리 내에 있는 루틴들은 범용적으로 사용 가능하며, 3차원 애니메이션 그래픽과 같은 특별한 용도의 함수로도 설계될 수 있다. [1]
특징
구분
정적 라이브러리(static library)
동적 라이브러리(dynamic library
동적 라이브러리(dynamic library)는 소프트웨어의 일종으로, 동적 링크를 사용한 라이브러리이다. 여러 프로그램이 공통적으로 필요로 하는 기능들을 프로그램과 분리하여 필요할 때에만 불러내어 쓸 수 있게 만들어 놓은 라이브러리를 의미한다. 마이크로소프트 윈도우에서는 동적 링크 라이브러리라고 해서 확장자가 DLL인 파일로 제공되고 있으며, 리눅스에선 /lib 밑의 .so 파일 등으로 구현된다. 개인이 자유 소프트웨어 등을 작성할 때에 만들기 쉽게 하기위해 작성하여 무료로 제공되는 것도 있다. [2]
장단점
- 장점
동적 라이브러리는 첫째, 메모리를 절약할 수 있으며, 스와핑을 줄여준다. 여러 프로세스가 메모리에 있는 하나의 DLL 복사본을 공유하여 하나의 DLL을 동시에 사용할 수 있다. 두번째, 디스크 공간도 절약할 수 있다. 여러 응용 프로그램이 디스크에 있는 하나의 DLL 복사본을 공유할 수 있다. 세번째, DLL을 쉽게 업그레이드할 수 있다. DLL의 함수가 변경되어도 함수의 인수 및 반환 값이 변경되지않았다면 그 함수를 사용하는 응용 프로그램은 다시 컴파일하거나 링크를 할 필요가 업다. 네번째, 출시 후에 지원이 가능하다. 예를들면, 응용 프로그램을 출시할 때 사용할 수 없었던 디스플레이 기능을 지원하도록 디스플레이 드라이버 DLL을 수정할 수 있다. 다섯번째, 언어 형식이 다른 여러 프로그램을 지원한다. 서로 다른 프로그래밍 언어로 작성된 프로그램인 경우에도 함수의 호출 규칙을 따르기만 한다면 여러 프로그램에서 동일한 DLL 함수를 호출할 수 있다. 이 경우 각 프로그램과 DLL 함수는 여러 부분에서 호환될 수 있어야 한다. [1]
- 단점
동적 라이브러리의 단점으로는 첫째, 외부 의존도가 발생하기 때문에 이식성이 어렵다. 둘째, 성능저하가 발생한다. 공유 라이브러리를 메모리에 올리려면 해당 라이브러리르 찾고 올리는데까지 생기는 시간으로 인해 성능저하가 발생하게 된다. [1]
각주
참고자료
같이 보기