무엇 GCC 컴파일에 정적 라이브러리가 포함되어 있습니까?
-
05-07-2019 - |
문제
내 응용 프로그램에 링크에 대한 libsamplerate.니다.내가 이것을 하게 배포하는 최종 바이너리 더 쉽습니다.
나는 걱정이 아마도 내 코드.파일에 따라 다른 라이브러리의 나는 또한 필요를 배포할 수 있습니다.
지만 그렇지 않은 경우,나는 걱정이 나는 bloating 내 응용 프로그램에 의해 너무 많은 것을 포함하여 다수의 사본 eg.libc.
무엇을 정확하게 될 것입니다 내부 libsamplerate.니까?그냥 libsamperate 의 바이트코드?나 더?
해결책
정적 라이브러리의 단지 수집한 개체 파일이 있습니다.를 컴파일할 때 프로그램에 정적 라이브러리,오브젝트 코드를 사용되는 기능에 의해 귀하의 프로그램에서 복사한 라이브러리로 당신의 실행 파일을 실행합니다.연결에 대한 정적 라이브러리를 발생하지 않습니다 어떤 기능을 외부에 있는 라이브러리를 포함될 수 있습니다.
다른 팁
니다.파일은 기본적으로 묶습니다.o 파일이 있습니다.을 입증할 수 있습니는 이를 사용하는 ar
도구입니다.
예를 들어,의 콘텐츠를 표시하는 라이브러리:
ar -t libsamplerate.a
을 만들.에서 파일을 처음부:
ar -r tim.a *.txt
단체 코드 libsamplerate.정적으로 링크에 대한 단일 도서관 만들지 않는 모든 라이브러리에 연결된 정적으로;그것은 잘못된 것입니다.
제휴하지 않습니다 StackOverflow