정적 라이브러리(Static Library)란? 프로그램 빌드 시에 라이브러리가 제공하는 코드를 실행 파일에 넣어서 빌드하는 방식의 라이브러리를 의미한다.
정적 라이브러리를 사용하여 컴파일하면 링커가 프로그램이 필요하는 부분을 라이브러리에서 찾아 실행파일에 복사한다. 실행파일에 다 들어가기 때문에 실행할 때 라이브러리가 필요 없이 다 포함되어 있다.
장점은 시스템 환경이 변해도 애플리케이션에 아무런 영향이 없고, 완성된 애플리케이션을 안정적으로 사용할 수 있다는 점이다. 반면에 사용하는 모든 오브젝트 코드를 실행 파일에 포함하기 때문에 메모리에 로드되는 애플리케이션 코드 크기가 커진다는 단점이 있다.
리눅스에서는 확장자 a가 붙는다. 공유 라이브러리(Shared Library)란?
어떤 라이브러리가 제공.....
원문 링크 : [라이브러리] 정적(static) vs 공유(shared)