이 특별한 경우에 mylib.a 파일이 32 또는 64 비트 호환인지 확인하려고합니다. 공유 객체 (mylib.so)에 대해서는 ldd에 익숙하지만, .a 아카이브를 검사하려면 어떻게해야합니까?유닉스/리눅스 시스템에서 mylib.a 아카이브에 대해 더 자세히 알 수 있습니까?
3
A
답변
9
"nm"및 "ar"은 라이브러리 아카이브에 대한 정보를 제공합니다.
0
일반적으로 '파일'유틸리티 만 사용합니다.
4
표준 "nm"및 "ar"유틸리티는 아카이브에 대한 정보를 제공합니다.
아카이브의 32/64 비트 기능에 대해 배우려면 "ar"을 사용하여 mylib.a에서 .o 파일을 추출한 다음 .o 파일에서 "file"을 실행하여 32/64 비트 사용.
7
$ objdump -G /usr/lib/libz.a In archive /usr/lib/libz.a: adler32.o: file format elf32-i386 ... $ objdump -G /usr/lib64/libz.a In archive /usr/lib64/libz.a: adler32.o: file format elf64-x86-64 ... $ objdump -G /ppc-image/usr/lib/libz.a In archive /ppc-image/usr/lib/libz.a: adler32.o: file format elf32-powerpc ...
multilib-capable binutils
이 필요하지만 매우 간단합니다. 그렇습니까?
Objdump -G은 좀 더 간결한 형식 목록을 제공합니다. –
"objdump -a"보다 한 줄 밖에 출력되지 않았습니다 ... 여전히 개선되었습니다. 감사! – ephemient