라이브러리 연결에 대한 몇 가지 질문이 있습니다.정적 및 동적 연결 라이브러리
링크하려는 라이브러리가 정적 또는 동적으로 링크되어 있다면 링커가 어떻게 결정합니까? 파일 확장 (.a/ .so)으로 결정 되었습니까?
동적으로 .a 라이브러리를 연결할 수 있습니까?
소스가 없어도 .a 라이브러리를 .so 라이브러리로 변환 할 수 있습니까?
라이브러리 연결에 대한 몇 가지 질문이 있습니다.정적 및 동적 연결 라이브러리
링크하려는 라이브러리가 정적 또는 동적으로 링크되어 있다면 링커가 어떻게 결정합니까? 파일 확장 (.a/ .so)으로 결정 되었습니까?
동적으로 .a 라이브러리를 연결할 수 있습니까?
소스가 없어도 .a 라이브러리를 .so 라이브러리로 변환 할 수 있습니까?
gcc 링커는 두 가지 유형의 라이브러리가 검색 경로에서 발견되면 기본적으로 .so 파일에 동적으로 연결됩니다. here에 설명 된대로 명령 줄 인수를 사용하여이를 오버 라이딩 할 수 있습니다.
예, 아니요, 아니요. 일반적으로 공유 라이브러리로 사용할 수 있도록 * position-independent * 코드를 컴파일해야합니다. 이것은 명시 적으로 요청하지 않는 한 일반적으로 수행되지 않습니다. –
@KerrekSB 그게 대답이 아니어야합니까? – delnan