정적 링크 라이브러리란 무엇인가요? 동적 링크 라이브러리란 무엇입니까? 그들 사이의 차이점은 무엇입니까
정적 라이브러리는 객체 코드 모음으로 생각할 수 있습니다. 관례에 따르면 일반적으로 파일 접미사로 ".a"를 사용합니다. ar(archiver) 명령을 사용하여 정적 라이브러리를 만듭니다. 공유 라이브러리에는 더 큰 이점이 있으므로 정적 라이브러리는 더 이상 자주 사용되지 않습니다. 그러나 정적 라이브러리는 사용하기 쉽고 여전히 사용할 여지가 있으며 항상 존재합니다.
정적 라이브러리는 애플리케이션이 생성될 때 컴파일할 필요가 없으므로 재컴파일 시간이 절약됩니다. 그러나 오늘날에는 컴파일러가 점점 더 빨라지기 때문에 이는 중요하지 않은 것 같습니다. 다른 개발자가 귀하의 코드를 사용하고 싶어하고 귀하는 그들에게 소스 코드를 제공하고 싶지 않은 경우 정적 라이브러리를 제공하는 것이 옵션입니다. 이론적으로 정적 라이브러리를 사용하는 애플리케이션은 동적으로 로드되는 라이브러리보다 1~5배 빠르지만, 설명할 수 없는 이유로 인해 실제로는 그렇지 않을 수 있습니다. 이러한 관점에서 보면 사용 편의성 외에도 정적 라이브러리는 좋은 선택이 아닐 수 있습니다.
***공유 라이브러리
***공유 라이브러리는 프로그램이 시작될 때 로드됩니다. 애플리케이션이 공유 라이브러리를 로드할 때 다른 애플리케이션은 여전히 동일한 공유 라이브러리를 로드할 수 있습니다. Linux 사용을 기반으로 공유 라이브러리에는 다른 유연하고 정교한 기능이 있습니다.
라이브러리 업데이트는 이전 버전과 호환되지 않는 애플리케이션의 사용에 영향을 주지 않습니다. 프로그램을 편집할 때 덮어쓸 수 있습니다. 전체 라이브러리 또는 라이브러리의 특정 기능 업데이트 위 작업은 이미 실행 중인 프로그램에 영향을 주지 않으며 이미 로드된 라이브러리를 계속 사용합니다.