共有オブジェクト モジュール (lib*.so) の内容を表示するコマンド ラインは何ですか?
私たちがどのように使用するかのように:
ar -t lib*.a
アーカイブ (lib*.a) の場合、ライブラリ内のすべてのオブジェクト ファイルが表示されます。
編集1
例
ar -t lib*.a
私に表示を与えます:
asset.o
sldep.o
共有オブジェクト モジュール (lib*.so) の内容を表示するコマンド ラインは何ですか?
私たちがどのように使用するかのように:
ar -t lib*.a
アーカイブ (lib*.a) の場合、ライブラリ内のすべてのオブジェクト ファイルが表示されます。
編集1
例
ar -t lib*.a
私に表示を与えます:
asset.o
sldep.o
nm -D --defined-only libname.so
動的ライブラリからシンボル名を取得するために使用します。
この--defined-only
スイッチは、これらのファイルで定義されているシンボルのみを表示し、外部関数への参照は表示しません。
別の方法は、objdump を使用して、テキスト セクション内のシンボルのみをキャッチすることです。
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
...
私nm -D
はあなたが探しているものだと思います。
$ nm -D /usr/lib/libpng.so
...
00000000000058f0 T png_reset_zstream
000000000000d420 T png_save_int_32
000000000000d450 T png_save_uint_16
000000000000d3f0 T png_save_uint_32
0000000000007810 T png_set_IHDR
0000000000007500 T png_set_PLTE
000000000000ce20 T png_set_add_alpha
0000000000006670 T png_set_asm_flags
0000000000006970 T png_set_bKGD
000000000001a740 T png_set_background
...
このnm -D
コマンドは、共有ライブラリの動的シンボルを一覧表示します。これはまさにあなたが望むもののようです。