GCC: печать используемых функций во время работы программы / библиотеки - PullRequest
0 голосов
/ 05 сентября 2011

Можно ли распечатать список всех функций, используемых во время выполнения программы?Программа и библиотека, используемые программой, скомпилированы с GCC без оптимизации.

Причина этого списка в том, что я хотел бы оптимизировать библиотеку, которая имеет много неиспользуемых функций (библиотека действительно огромнаи мне нужно всего несколько функций).

Ответы [ 3 ]

3 голосов
/ 05 сентября 2011

Если вы можете скомпилировать их снова, вы можете использовать профилировщик, такой как gprof или valgrind (с его инструментом callgrind). Я думаю, что вам не понадобится новая компиляция, если вы используете valgrind.

1 голос
/ 05 сентября 2011

Если его динамическая библиотека (*.so), попробуйте ltrace.Например, посмотреть, как ls использует libc:

ltrace --library /lib64/libc.so.6 ls

gprof, тоже можно.

0 голосов
/ 06 сентября 2011

gcov (скомпилировать с gcc -ftest-coverage -fprofile-arcs) тоже скажет это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...