जवाबों:
आपको क्या चाहिए 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)