내 말은, 단일 모듈/객체 파일에 연결하는 것과는 대조적이라는 뜻입니다. 모듈 그룹이 함께 보관되는 이유는 무엇입니까? 실행 파일을 1. 더 크게 만들고 2. 덜 안전하게 만들지 않습니까(즉, 반환 지향 프로그래밍 공격에 더 취약하게)?
답변1
정적 라이브러리의 주요 기능은 누락된 기호를 제공하는 아카이브 구성원만 연결할 수 있는 기호 색인화입니다.
대상 파일을 단일 파일로 그룹화하거나 압축하는 것은 부차적인 작업이므로 소위 "씬 아카이브"를 가질 수 있지만 둘 다 없습니다. (씬 아카이브는 기본적으로 참조하는 대상 파일 외부에 존재하는 참조 파일입니다.)
답변2
장점: 파일이 하나만 있습니다.
정적 라이브러리는 단지 아카이브일 뿐입니다. 필요에 따라 개별 파일을 넣거나 뺄 수 있습니다. 프로그램을 링크하면 해당 파일만 추출되어 링크됩니다.
참고: -dev 와 함께 Linux 배포판을 사용하는 경우 dpkg
동일한 라이브러리 및 패키지 보관 도구를 사용하게 됩니다(그리고 -dev 패키지 내에 중첩될 수도 있음).