Подтвердить что ты не робот

Содержимое статической библиотеки

У меня есть статическая библиотека, скажем mystaticlib.a. Я хочу увидеть его содержимое, например, количество объектных файлов внутри него.

Как это сделать на gcc?

4b9b3361

Ответ 1

В gcc используйте ar -t.

-t опция gnu archiver (ar) записывает оглавление архива в стандартный вывод. Только файлы, указанные файловыми операндами, должны быть включены в письменный список. Если не указаны операнды файлов, все файлы в архиве должны быть включены в порядок архива.

Дополнительная информация здесь.

Ответ 2

Вы можете увидеть содержимое (файлы .o, которые вошли в него) и определенные символы, используя nm. Если это содержит код С++, вы должны использовать опцию -C для демонстрации имен символов:

nm -C libschnoeck.a | less

Ответ 3

На Mac просто используйте

nm libschnoeck.a | less

В версии Mac версии nm отсутствует опция -C.

Ответ 4

Все ответы выше верны. Просто я предоставляю URL для получения дополнительной информации о команде "nm".

Вы можете обратиться к указанному ниже сайту.

https://www.mkssoftware.com/docs/man1/nm.1.asp

Ответ 5

Просто наткнулся на это:

Вы можете открыть архив (.a) с 7zip. Также работает для объектных файлов в архиве. Перечисление всех видов содержимого, таких как .text, .bss, .data, и т.д. С их offset, length, type,... Кроме того, можно распаковать все, используя шестнадцатеричный редактор или notepad++ для просмотра содержимого. Я проверил это с помощью архива, созданного с помощью GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi- Toolchain и 7Zip 16.04 (64-bit)