세상의 모든 잡다한 지식

반응형

라이브러리(library)는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함할 수 있다. OS/360 및 이후 세대에서는 파티션 데이터 세트로 부른다.

 

구체적으론 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능(들)을 모듈화한 것이다. 대상 환경(플랫폼)에서 바로 실행될 수 있는 형태로 제공되며, 실제 실행되어 기능을 수행하는 단편화된 프로그램이라는 점이 API와 다르다. 프로그래밍 언어에서 라이브러리를 사용할 수 있도록 소스코드 수준에서 인터페이스를 노출시킨 것이 바로 Application Programming Interface(API)이다. 따라서 라이브러리는 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된, 컴파일되어 기계어의 형태로 (또는 대상 플랫폼에 따라서는 바이트코드로) 존재하는 프로그램이다. 이 자체로는 사용자가 직접 일반적인 조작으로 실행할 수 없으며, 해당 라이브러리의 기능을 직접 호출하는 프로그램을 실행하거나, 사용자가 해당 라이브러리의 기능을 실행하는 API를 사용하는 프로그램을 직접 개발하면 실행할 수 있다.

 

- 표준 라이브러리 : 특정한 언어의 개발 환경에 기본적으로 포함된 것들은 대부분 표준 라이브러리라고 불린다. 기본적인 기능 수행과 더불어 디버깅, 성능측정 등을 위한 별도의 API가 존재한다.

 

- 런타임 라이브러리 : 프로그램이 실제 환경에서 실행되기 위해 필요한 모듈들이다. 대부분 위의 표준 라이브러리에서 기능 수행에 필요한 것들만 제공되거나, 스크립트의 실행기 등을 말한다.

 

많은 회사나 개인, 단체들이 돈을 받고 팔거나, 또는 자신이 사용하기 위해, 또는 순수한 잉여력으로 많은 라이브러리들을 개발하고 배포하고 있으므로 현명한 개발자라면 이것들을 잘 활용하여 개발에 필요한 시간과 노력을 절약하도록 하자.

 

Windows에서 자주 볼 수 있는 런타임 라이브러리의 확장자는 보통 .dll이다. Java의 경우 .Jar 형태로 배포되는 경우도 있다.

반응형

'IT > 컴퓨터사이언스' 카테고리의 다른 글

[비전공자가 알기 쉬운 프로그래밍 용어] 함수(function)란?  (0) 2021.01.10
클라우드 컴퓨팅이란?  (2) 2020.07.28
엣지컴퓨팅이란?  (0) 2020.07.28
크라우드펀딩이란?  (2) 2020.07.28
IT란?  (0) 2020.07.24

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading