Вы можете использовать инструмент командной строки nm
для вывода списка экспортируемых символов в двоичных файлах:
~/src> cat nm-test.c
static int plus_four(int x)
{
return x + 4;
}
int sum_plus_four(int a, int b)
{
return plus_four(a + b);
}
int product_plus_four(int a, int b)
{
return plus_four(a * b);
}
~/src> gcc -c nm-test.c
~/src> nm ./nm-test.o
00000000 t plus_four
00000023 T product_plus_four
0000000b T sum_plus_four
В соответствии с инструкция , 't' означает, что символ находится всегмент кода (текста) и прописные буквы означают, что он общедоступен.
Если у вас есть искомый символ, вы можете использовать nm
, чтобы сделать символы, экспортируемые библиотекой, доступными, например, для grep:
$ find -name lib*.a /example/library/path | xargs nm | grep -E "T $SYMBOL_TO_FIND"
Эта командная строка является непроверенным эскизом, но она должна показать концепцию.