utilisez nm -D --defined-only libname.so
pour obtenir les noms des symboles de votre bibliothèque dynamique. Le commutateur --defined-only
affiche uniquement le symbole défini dans ces fichiers et non les références aux fonctions externes.
Une alternative est d'utiliser objdump et attraper seulement les symboles dans la section texte:
objdump -T /usr/lib/libjpeg.so | grep text
...
0001b5c0 g DF .text 00000016 Base jdiv_round_up
00003730 g DF .text 00000417 Base jpeg_set_colorspace
0000cda0 g DF .text 000002de Base jpeg_consume_input
00002b30 g DF .text 00000023 Base jpeg_abort_compress
00003b50 g DF .text 000000b6 Base jpeg_default_colorspace
00002810 g DF .text 00000067 Base jpeg_suppress_tables
00004110 g DF .text 00000130 Base jpeg_add_quant_table
000100c0 g DF .text 0000011f Base jpeg_save_markers
...
Ceci devrait être la réponse acceptée. –
@Jack Kelly: L'utilitaire objdump semble plus complet, mais quelle est la différence par rapport à l'OP? –
@Matt Joiner: La différence entre cette réponse et la mienne est la référence à 'nm -D - defined-only'. 'nm -D' affichera des symboles non définis et ainsi de suite, ce qui n'est que du bruit si vous voulez voir ce que la lib elle-même définit. –