উত্তর:
আপনার যা প্রয়োজন তা হ'ল 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)