정적 라이브러리의 내용
정적 라이브러리가 있습니다.mystaticlib.a
. 안에 있는 오브젝트 파일의 수 등 내용을 보고 싶습니다.
이거 gcc로 어떻게 해요?
gcc에서 사용ar -t
.
-t
gnu archiver(ar)의 옵션은 표준 출력에 아카이브 목차를 씁니다.파일 오퍼랜드에 의해 지정된 파일만 서면 목록에 포함해야 합니다.파일 오퍼랜드가 지정되지 않은 경우 아카이브 내의 모든 파일은 아카이브 순서에 포함되어야 합니다.
자세한 것은 이쪽.
를 사용하면, 컨텐츠(.o 파일)와 정의된 기호를 표시할 수 있습니다.nm
C++ 코드가 포함되어 있는 경우는,-C
옵션에서 기호 이름을 디멘글링합니다.
nm -C libschnoeck.a | less
Mac에서는, 간단하게
nm libschnoeck.a | less
거기에는 없다-C
nm의 Mac 버전은 nm 입니다.
이 문제에 걸려 넘어졌다.
7zip을 사용하여 아카이브(.a)를 열 수 있습니다.아카이브의 오브젝트 파일에도 사용할 수 있습니다.모든 종류의 콘텐츠를 나열하는 것.text, .bss, .data,
등입니다.offset, length, type,
...또한 16진 에디터나 메모장++를 사용하여 내용을 모두 언팩할 수 있습니다.이 테스트를 테스트한 결과GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi-
툴 체인 및7Zip 16.04 (64-bit)
지금 막 알게 된 건 네가 이 모든 걸readelf -a
정적 라이브러리에 있는 모든 개체 파일의 내용을 표시합니다.
다음과 같이 readelf 명령을 실행합니다.$ readelf -a mystaticlib.a
.
언급URL : https://stackoverflow.com/questions/3757108/contents-of-a-static-library
'programing' 카테고리의 다른 글
"만약" 체인을 피하는 방법 (0) | 2022.07.02 |
---|---|
Vue.js $emit이 부모에게 수신되지 않았습니다. (0) | 2022.07.02 |
안드로이드:onIntercept의 차이Touch Event 및 dispatch Touch Event? (0) | 2022.07.02 |
Vue 다중 선택이 항상 부트스트랩 입력 그룹 뒤에 표시됨 (0) | 2022.07.02 |
함수에서 C 문자열 반환 (0) | 2022.07.02 |