.so와 .a 파일 차이

이산·2022년 10월 28일
0

기술블로그

목록 보기
26/42

.so(공유 라이브러리, Shared Library)

리눅스 동적 라이브러리
라이브러리 로직 변경 시 반영 방법 -> .so 교체 후 컴파일 없이 재실행
작성방법 -> ld
실행속도 -> 상대적 느림

.a(정적 라이브러리, Archive Library)

리눅스 정적 라이브러리
라이브러리 로직 변경 시 반영 방법 -> .a 교체 후 재컴파일 후 재실행
작성방법 -> ar
실행속도 -> 상대적 빠름

정적 라이브러리

동적(공유)라이브러리에 비해 실행 속도가 빠르고 배포에 제약이 없다.
하지만 해당 라이브러리를 필요로 하는 모든 곳에 같은 정적 라이브러리가 링크되기 때문에 배포파일의 사이즈가 커지며 하드디스크 및 메모리의 공간도 더 많이 차지한다.
하지만 유직스 시스템의 경우 그때그때 필요한 부분만 메모리에 로딩하기 때문에 정적 라이브러리와 공유 라이브러리의 메모리 사용률이 크지는 않다.

profile
백엔드 개발자입니다.

0개의 댓글