There are a number of tools available on Unix systems to help you understand and manipulate object files.In particular, the GNU binutils package is especially helpful and runs on every Unix platform.
- AR :Creates static libraries, and inserts, deletes, lists, and extracts members.
- STRINGS: Lists all of the printable strings contained in an object file.
- STRIP:Deletes symbol table information from an object file.
- NM :Lists the symbols defined in the symbol table of an object file.
- SIZE:Lists the names and sizes of the sections in an object file.
- READELF:Displays the complete structure of an object file, including all of the information encoded in theELF header. Subsumes the functionality of SIZE and NM.
- OBJDUMP:The mother of all binary tools. Can display all of the information in an object file. Its mostuseful function is disassembling the binary instructions in the .text section.
- LDD :Lists the shared libraries that an executable needs at run time.
--- From
Computer Systems: A Programmer's Perspective.
PS:
- A very good webpage introducing Linux libraries:Static, Shared Dynamic and Loadable Linux Libraries
- How to Write Shared Libraries?http://www.akkadia.org/drepper/dsohowto.pdf
- Program Library HOWTO:http://tldp.org/HOWTO/Program-Library-HOWTO/index.html