Android下使用objdump查看导出的函数表

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


版权声明:本文为u201011221原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。