'Shared Library'에 해당되는 글 2건

  1. 2010.01.28 nm - list symbols from object files
  2. 2009.01.14 라이브러리 분석 - ar / ldd 2
Linux2010. 1. 28. 19:43
ar은 *.a 파일에 들어있는 함수들의 목록을 얻어내고
ldd는 단순하게 실행파일이 링킹(linking)하고 있는 so들의 목록을 얻어내고
nm은 *.so 파일에 들어있는 함수들의 목록을 얻어낸다.

nm - list symbols from object files

Synopsis
nm [-a|--debug-syms] [-g|--extern-only] [-B] [-C|--demangle[=style]] [-D|--dynamic] [-S|--print-size] [-s|--print-armap] [-A|-o|--print-file-name][--special-syms] [-n|-v|--numeric-sort] [-p|--no-sort] [-r|--reverse-sort] [--size-sort] [-u|--undefined-only] [-t radix|--radix=radix] [-P|--portability] [--target=bfdname] [-fformat|--format=format] [--defined-only] [-l|--line-numbers] [--no-demangle] [-V|--version] [-X 32_64] [--help] [objfile...]

[링크 : http://linux.die.net/man/1/nm]

You can use
nm -Ca /lib/mylib.so.1
man nm for full

[링크 : http://www.linuxquestions.org/questions/linux-general-1/list-library-function-of-a-shared-library-.so-438693/]

+
2016.06.13

For the shared libs:
Code:
nm -D /lib/mylib.so.1


Posted by 구차니
Linux2009. 1. 14. 13:20

 $ldd ps
        linux-gate.so.1 =>  (0x00110000)
        libproc-3.2.7.so => /lib/libproc-3.2.7.so (0x00b23000)
        libdl.so.2 => /lib/libdl.so.2 (0x00b4c000)
        libc.so.6 => /lib/libc.so.6 (0x009e1000)
        /lib/ld-linux.so.2 (0x009c4000)


$ar -t libdevmapper.a
bitset.o
hash.o
libdm-common.o
libdm-file.o
libdm-deptree.o
libdm-string.o
dbg_malloc.o
pool.o
libdm-iface.o


ldd 라는 녀석은 실행파일이 동적으로 사용하고 있는 라이브러리의 목록을 보여주고

ar 이라는 녀석은 라이브러리에 포함되어 있는 목록을 보여준다.


[참조 : http://www.misofruit.co.kr/seojewoo/embedded/linuxschedule/030312study.htm]


man page for ldd & ar


Posted by 구차니