How would you list the available functions etc contained within a compiled library?

You can use the nm command to list the symbols in static libraries nm -g -C.

You can use the nm command to list the symbols in static libraries. Nm -g -C.

Under Linux/Unix you can use objdump -T to list the exported symbols contained in a given object. Under Windows there's dumpbin (IIRC dumpbin /exports). Note that C++ function names are mangled in order to allow overloads.

EDIT: after seeing codelogic's anwser I remembered that objdump also understands -C to perform de-mangling.

For Microsoft tools, "link /dump /symbols " will give you the gory details. There are probably other ways (or options) to give an easier to read listing.

For ELF binaries, you can use readelf: readelf -sW a. Out | awk '$4 == "FUNC"' | c++filt -s: list symbols -W: don't cut too long names The awk command will then filter out all functions, and c++filt will unmangle them. That means it will convert them from an internal naming scheme so they are displayed in human readable form.It outputs names similar to this (taken from boost.

Filesystem lib): 285: 0000bef0 91 FUNC WEAK DEFAULT 11 boost::exception::~exception() Without c++filt, the name is displayed as _ZN5boost9exceptionD0Ev.

Use this command: objdump -t "your-library" It will print more than you want - not just function names, but the entire symbol table. Check the various attributes of the symbols you get, and you will be able to sort out the functions from variables and stuff.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions