실행 가능한 elf 파일을 동적으로 링크 할 때 libc.so.6 공유 라이브러리가 필요합니다. 실행 가능한 elf 파일을 정적으로 링크 할 때 libc.so.6 공유 라이브러리가 필요하지 않습니다 (놀랄 일도 아닙니다).링커는 정적으로 링크 된 파일에 libc.so.6을 포함합니까?
즉, 실행 파일을 --static로 어셈블하는 것은 링커에 libc.so.6을 포함합니까? 그렇지 않은 경우 - 링커에는 어떤 파일이 있습니까? 어디에서 검색 할 수 있습니까? 필자가 아는 한, 링커는 정적으로 어셈블 된 파일에 정적 라이브러리를 포함합니다.
IIUC, 섹션은 오브젝트 파일이 아니라 링크 할 수있는 최소 단위입니다. 예 : GNU ld의 --gc-sections 플래그, gcc의 -funcions-sections 및 -fdata-sections 옵션. – janneb
그리고 최근의 GCC 컴파일러는 LTO (link time optimization) 기능을 가지고 있습니다 ... –
답장을 보내 주셔서 감사합니다. libc.a는 어디에 저장됩니까? "찾기"의 도움으로도 찾을 수 없습니다. –