একটি লিনাক্স শেয়ার করা লাইব্রেরি রফতানি করে ফাংশনগুলির তালিকাটি আমি কীভাবে দেখতে পারি?


189

আমি লিনাক্সে ভাগ করা লাইব্রেরির রফতানি ফাংশনগুলি দেখতে চাই।

কোন আদেশ আমাকে এটি করতে অনুমতি দেয়?

(উইন্ডোজে আমি প্রোগ্রামটি নির্ভর করি)


উত্তর:


308

আপনার যা প্রয়োজন তা হ'ল nmএটির -Dবিকল্প:

$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
         U atanf
         U calloc
.
.
.

রফতানি স্যামবোলগুলি একটি দ্বারা নির্দেশিত হয় T। অন্যান্য ভাগ করা অবজেক্ট থেকে লোড হওয়া আবশ্যক প্রতীকগুলির একটি থাকতে হবে U। মনে রাখবেন যে প্রতীক টেবিলটি কেবল ফাংশনগুলি অন্তর্ভুক্ত করে না, তবে রফতানি ভেরিয়েবলগুলিও অন্তর্ভুক্ত করে।

দেখুন nm ম্যানুয়েল পৃষ্ঠা দেখুন।


18
অথবা আপনি যদি কেবল রফতানি প্রতীক দেখতে চান তবে "- সংজ্ঞায়িত" শুধুমাত্র পতাকাটি যুক্ত করুন। উদাহরণস্বরূপ: "এনএম-ডি - শুধুমাত্র সংজ্ঞায়িত / লাইব / লিবিস্টেস্ট.সো"
শেরভিন ইমামি

3
ম্যাক ওএস এক্সে পতাকা nmছাড়াই ব্যবহার করুন -D
জেপেজেট



1

ইতিমধ্যে উল্লিখিত অন্যান্য সরঞ্জামগুলির মধ্যে আপনি 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)

আমার পাঠ্যপুস্তক ব্যবহার করে রফতানি প্রতীকগুলি কীভাবে খুঁজে পাব? এটি আমাকে প্রচুর পরিমাণে আউটপুট দেয়।
জুরজ মার্টিনকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.