Unix/Linux 시스템에서 MyLib.a 아카이브에 대해 어떻게 더 배울 수 있습니까?

StackOverflow https://stackoverflow.com/questions/184502

  •  06-07-2019
  •  | 
  •  

문제

이 특별한 경우 MyLib.a 파일이 32 또는 64 비트 호환인지 확인하려고합니다. 공유 객체 (mylib.so)에 대한 LDD에 익숙하지만 일반 .A 아카이브를 어떻게 검사합니까?

도움이 되었습니까?

해결책

"NM"및 "AR"은 라이브러리 아카이브에 대한 정보를 제공합니다.

다른 팁

$ 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

...

멀티브 캡슐화가 필요합니다 binutils, 그러나 그것은 매우 간단합니다. 그렇지 않습니까?

표준 "NM"및 "AR"유틸리티는 아카이브에 대한 정보를 제공합니다.

아카이브 사용 "ar"의 32/64 비트 능력에 대해 알아 보려면 mylib.a 내부의 .o 파일을 추출한 다음 .o 파일에서 "파일"을 실행하여 32/64 비트 사용을 포함하여 유형을 발견하십시오.

일반적으로 '파일'유틸리티 만 사용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top