Linuxで共有ライブラリのエクスポートされた関数を表示したい。
どのコマンドを使用してこれを行うことができますか?
(Windowsで使用するプログラムは異なります)
必要なのはnm
とその-D
オプションです。
$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
U atanf
U calloc
.
.
.
エクスポートされた集計は、T
で示されます。他の共有オブジェクトからロードする必要がある必須シンボルには、U
があります。シンボルテーブルには関数だけでなく、エクスポートされた変数も含まれていることに注意してください。
詳細については、nm
マニュアルページ を参照してください。
objdump -T *.so
も仕事をするかもしれません
MACでは、nm
にnm *.o | c++filt
オプションがないため、-C
を使用する必要があります。