Zawartość biblioteki statycznej

Mam statyczną bibliotekę, powiedzmy mystaticlib.a. Chcę zobaczyć jego zawartość, na przykład liczbę plików obiektowych wewnątrz niego.

Jak mogę to zrobić na gcc?

Author: Vadim Kotov, 2010-09-21

4 answers

Na gcc użyj ar -t.

-t Opcja gnu archiver (ar) zapisuje spis zawartości archiwum na standardowe wyjście. W spisanej liście znajdują się tylko pliki określone przez operandy pliku. Jeśli nie podano operandów plików, wszystkie pliki w archiwum powinny być włączone w kolejności archiwum.

Więcej informacji tutaj .

 93
Author: Prasoon Saurav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-23 14:57:03

Możesz zobaczyć zawartość (the .o pliki, które do niego weszły) i zdefiniowane symbole za pomocą nm. Jeśli zawiera on kod C++, powinieneś użyć opcji -C do demangle nazw symboli:

nm -C libschnoeck.a | less
 43
Author: Jens Gustedt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-21 09:08:11

Na komputerze Mac po prostu użyj

nm libschnoeck.a | less

Nie ma opcji -C w wersji Mac nm.

 16
Author: kakyo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 22:34:01

Po prostu potknęło się o to:

Możesz otworzyć archiwum (.a) z 7zip. Działa również dla plików obiektowych w archiwum. Lista wszelkiego rodzaju treści jak .text, .bss, .data, itp. z ich offset, length, type,... Ponadto możliwe jest rozpakowanie wszystkich, za pomocą edytora szesnastkowego lub notatnika++, aby wyświetlić zawartość. Testowałem to z archiwum utworzonym za pomocą GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi- Toolchain i 7Zip 16.04 (64-bit)

 2
Author: GreenBærg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-21 08:50:22