Symbol of shared library
Symbol exported by a shared library
1) stackoverflow How do I view the list of functions a Linux shared library is exporting?
What you need is nm and its -D option:
$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
U atanf
U calloc
.
.
.
Exported sumbols are indicated by a T. Required symbols that must be loaded from other shared objects have a U. Note that the symbol table does not include just functions, but exported variables as well.
See the nm manual page for more information.
On a MAC, you need to use nm *.o | c++filt, as there is no -C option in nm.
2) stackoverflow How do i find out what all symbols are exported from a shared object?
Do you have a "shared object" (usually a shared library on AIX), a UNIX shared library, or a Windows DLL? These are all different things, and your question conflates them all :-(
- For an AIX shared object, use
dump -Tv /path/to/foo.o. - For an ELF shared library, use
readelf -Ws /path/to/libfoo.so, or (if you have GNU nm)nm -D /path/to/libfoo.so. - For a non-ELF UNIX shared library, please state which UNIX you are interested in.
- For a Windows DLL, use
dumpbin /EXPORTS foo.dll.