.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 |