जवाबों:
आपको क्या चाहिए nm
और उसका -D
विकल्प:
$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
U atanf
U calloc
.
.
.
निर्यात किए गए सुंबोल एक द्वारा इंगित किए जाते हैं T
। आवश्यक प्रतीकों को अन्य साझा वस्तुओं से लोड किया जाना चाहिए U
। ध्यान दें कि प्रतीक तालिका में केवल फ़ंक्शंस शामिल नहीं हैं, लेकिन निर्यात चर भी।
देखें nm
मैन्युअल पृष्ठ अधिक जानकारी के लिए।
nm
बिना उपयोग करें -D
।
objdump -T *.so
नौकरी भी कर सकते हैं
मैक पर, आपको उपयोग करने की आवश्यकता है nm *.o | c++filt
, क्योंकि इसमें कोई -C
विकल्प नहीं है nm
।
अन्य पहले से ही उल्लेख किए गए उपकरणों में आप भी readelf
( मैनुअल ) उपयोग कर सकते हैं । यह समान है, objdump
लेकिन अधिक विस्तार से जाना जाता है। अंतर की व्याख्या के लिए इसे देखें ।
$ readelf -sW /lib/liblzma.so.5 |head -n10
Symbol table '.dynsym' contains 128 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 FUNC GLOBAL DEFAULT UND pthread_mutex_unlock@GLIBC_2.0 (4)
2: 00000000 0 FUNC GLOBAL DEFAULT UND pthread_mutex_destroy@GLIBC_2.0 (4)
3: 00000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable
4: 00000000 0 FUNC GLOBAL DEFAULT UND memmove@GLIBC_2.0 (5)
5: 00000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.0 (5)
6: 00000000 0 FUNC GLOBAL DEFAULT UND memcpy@GLIBC_2.0 (5)