라이브러리는 프로그래밍에 사용할 수 있게 미리 만들어져 있는 함수나 변수들의 묶음입니다. 미리 컴파일된 오프젝트 파일 형태로 존재하며 컴파일 과정(링킹 과정)에서 링킹되어 실행 가능한 프로그램을 이룹니다.
개발하다 보면 라이브러리를 사용할 일이 많은데 라이브러리를 사용해보면 정확한 개념은 몰라도 프로그램을 개발할 때 필요한 기능을 가져다 쓰는 도구라는 것은 어렴풋이 이해할 수 있습니다.
라이브러리에 대해 제대로 이해하려면 컴파일 과정, 특히 링킹 과정에 대한 이해가 필요합니다.
*컴파일=컴파일이란 인간이 알아들을수 있는코드로된 문서를 PC가 알아볼수 있도록 번역하는 과정입니다.(원시 코드에서 목적 코드로 옮기는 과정)
소스 코드를 컴파일하는 이유는 대부분 사람에게 이해하기 쉬운 형태의 고수준 언어로부터 실행가능한 기계어 프로그램을 만들기 위해서 입니다.
*링킹=프로그램을 컴퓨터 영구 저장 장치에서 램 영역으로 복사하여 이동하고, 실행 파일을 이용하여 공유 라이브러리를 연결하는 운영 체제의 일부 입니다.
라이브러리가 가지는 장점
코드를 재사용하기 쉽다.
코드의 내용을 숨겨 기술 유출을 방지할 수 있다.
이미 구현되어 있는 기능들을 가져다 쓸 수 있어 개발 시간을 단축할 수 있다.
컴파일 시간을 단축할 수 있다.