IT/CS

[CS] .so 파일과 .a 파일 비교

어린이개발자 2024. 12. 11. 08:52

.so 파일과 .a 파일에 대한 비교 글을 작성하고자 한다.

결론적으로 .so 파일과 .a 파일은 모두 컴파일된 코드를 담고 있는 라이브러리 파일이지만, 사용하는 방식과 목적이 다르다.

 

1. .so 파일

- 1.1. 정의

  - 동적(공유) 라이브러리 파일

- 1.2. 특징

  - 실행 시간에 프로그램이 라이브러리 로딩

  - 동일한 라이브러리를 여러 프로그램이 동시에 사용할 수 있어 메모리 사용량 줄임

  - 변경된 라이브러리를 다시 컴파일하지 않고도 프로그램이 업데이트된 내용 사용 가능

  - 배포 시 실행 환경에서 반드시 .so 파일 필요

 

2. .a 파일

- 2.1. 정의

  - 정적 라이브러리 파일

- 2.2. 특징

  - 프로그램이 빌드될 때 라이브러리의 모든 필요한 코드가 실행 파일에 포함되어 파일 크기 커짐

  - 컴파일 시점에만 필요하며, 실행 시에는 독립적인 파일이 생성됨

  - 라이브러리를 업데이트하기 위해서는 다시 빌드해야 함

'IT > CS' 카테고리의 다른 글

[CS] CRDT  (0) 2024.12.11
[CS] 사용자 패스워드 전송/보관 방법  (0) 2024.12.11
[CS] Base64 인코딩  (1) 2024.12.11
[CS] System Call  (1) 2024.12.09
[CS] 예외 처리  (0) 2024.03.24