मैं लिनक्स पर साझा लाइब्रेरी के निर्यात किए गए कार्यों को देखना चाहता हूं।लिनक्स साझा लाइब्रेरी निर्यात करने वाले कार्यों की सूची को मैं कैसे देखूं?
मुझे कौन सा आदेश मुझे ऐसा करने की अनुमति देता है?
(विंडोज़ पर मैं उपयोग कार्यक्रम निर्भर करता है)
मैं लिनक्स पर साझा लाइब्रेरी के निर्यात किए गए कार्यों को देखना चाहता हूं।लिनक्स साझा लाइब्रेरी निर्यात करने वाले कार्यों की सूची को मैं कैसे देखूं?
मुझे कौन सा आदेश मुझे ऐसा करने की अनुमति देता है?
(विंडोज़ पर मैं उपयोग कार्यक्रम निर्भर करता है)
आपको क्या करना होगा nm
और उसके -D
विकल्प है:
$ nm -D /usr/lib/libopenal.so.1
.
.
.
00012ea0 T alcSetThreadContext
000140f0 T alcSuspendContext
U atanf
U calloc
.
.
.
निर्यात sumbols एक T
ने संकेत दिया जाता है। आवश्यक प्रतीकों को अन्य साझा वस्तुओं से लोड किया जाना चाहिए U
है। ध्यान दें कि प्रतीक तालिका में केवल फ़ंक्शंस शामिल नहीं हैं, बल्कि निर्यात किए गए चर भी शामिल हैं।
अधिक जानकारी के लिए nm
manual page देखें।
objdump -T *.so
भी आप, nm *.o | c++filt
उपयोग करने के लिए के रूप में वहाँ nm
में कोई -C
विकल्प है की जरूरत पर एक मैक
@gotqn: आपको क्या लगता है कि यह कोई जवाब नहीं है? –
काम कर सकता है।
एक समान प्रश्न: [मैं कैसे पता लगा सकता हूं कि किसी साझा ऑब्जेक्ट से सभी प्रतीकों को निर्यात किया जाता है?] (Http://stackoverflow.com/questions/1237575/how-do-i-find-out-what-all -सिमबोल-निर्यात-से-साझा-ऑब्जेक्ट-ऑब्जेक्ट) –