Android下为了查看so的导出函数,有两种方法。
nm -D ffmpeg.so objdump -tT ffmpeg.so
这里推荐第二种方法, 因为遇到问题相对好查,nm在google里稍难匹配到你要的意思。
下面试使用objdump后, 每一行和每一列的数据的意义:
ibcrypto.so: file format elf32-littlearm
SYMBOL TABLE:
00000000 l df *ABS* 00000000 crtbegin_so.c
0003cd20 l F .text 00000010 __on_dlclose
0003cd34 l F .text 00000004 __on_dlclose_late
0000018c l .note.android.ident 00000000 ndk_build_number
0000014c l .note.android.ident 00000000 ndk_version
00000134 l O .note.android.ident 00000098 note_android_ident
COLUMN ONE: the symbol's value
COLUMN TWO: a set of characters and spaces indicating the flag bits that are set on the symbol. There are seven groupings which are listed below:
group one: (l,g,,!) local, global, neither, both.
group two: (w,) weak or strong symbol.
group three: (C,) symbol denotes a constructor or an ordinary symbol.
group four: (W,) symbol is warning or normal symbol.
group five: (I,) indirect reference to another symbol or normal symbol.
group six: (d,D,) debugging symbol, dynamic symbol or normal symbol.
group seven: (F,f,O,) symbol is the name of function, file, object or normal symbol.
COLUMN THREE: the section in which the symbol lives, ABS means not associated with a certain section
COLUMN FOUR: the symbol's size or alignment.
COLUMN FIVE: the symbol's name.
If you want additional information try you man page ;-) or the following links: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html and http://sourceware.org/binutils/docs/binutils/objdump.html
转自:https://stackoverflow.com/questions/6666805/what-does-each-column-of-objdumps-symbol-table-mean