2008-11-20 12 views
128

मेरे पास एक बाइनरी फ़ाइल है - विंडोज लाइब्रेरी (* .lib)।
क्या उस पुस्तकालय से कार्यों और उनके इंटरफ़ेस के नाम जानने का कोई आसान तरीका है?विंडोज लाइब्रेरी की सामग्री कैसे देखें (* .lib)

कुछ एम्फार और elfdump उपयोगिताओं के समान कुछ है?

उत्तर

146

मान लिया जाये कि आप एक स्थिर पुस्तकालय के बारे में बात कर रहे हैं, DUMPBIN /SYMBOLS कार्य करता है और डेटा वस्तुओं में से पता चलता पुस्तकालय। यदि आप एक आयात पुस्तकालय के बारे में बात कर रहे हैं (एक .lib डीएलएल से निर्यात किए गए प्रतीकों को संदर्भित करने के लिए उपयोग किया जाता है), तो आप DUMPBIN /EXPORTS चाहते हैं।

ध्यान दें कि "सी" बाइनरी इंटरफेस से जुड़े कार्यों के लिए, यह आपको मूल्य, पैरामीटर या कॉलिंग सम्मेलन वापस नहीं करेगा। वह जानकारी .lib में एन्कोड नहीं की गई है; आपको सही समय पर कॉल करने के लिए समय से पहले (हेडर फाइलों में प्रोटोटाइप के माध्यम से) के बारे में जानना होगा।

सी ++ बाइनरी इंटरफेस से जुड़े कार्यों के लिए, कॉलिंग कन्वेंशन और तर्क फ़ंक्शन के निर्यात किए गए नाम (जिसे "नाम मैंगलिंग" भी कहा जाता है) में एन्कोड किया जाता है। DUMPBIN /SYMBOLS आपको "उलझन" फ़ंक्शन नाम के साथ-साथ पैरामीटर के डीकोडेड सेट दोनों दिखाएगा।

10

DUMPBIN/निर्यात उस जानकारी में से अधिकांश प्राप्त करेंगे और एमएसडीएन को मारने से बाकी मिलेगा।

विजुअल स्टूडियो पैकेजों में से एक प्राप्त करें; सी ++

+0

क्या आपके पास वीएस के लिए कोई अच्छा एक्सटेंशन नाम है? – Damian

20

मैं यूनिक्स में ar t libfile.a जैसे टूल चाहता था।
विंडोज़ समकक्ष lib.exe /list libfile.lib है।

+1

हाँ lib (केवल) obj फ़ाइलों को दिखाएगा; यह obj फ़ाइलों में कार्यों और डेटा नहीं दिखाएगा। – user34660

2

1) एक दृश्य कमांड कंसोल खोलें (उपकरण/विजुअल स्टूडियो कमांड प्रॉम्प्ट)। 2) दर्ज करें "DUMPBIN/निर्यात my_lib_name.lib"

37

खुला एक दृश्य आदेश कंसोल (विजुअल स्टूडियो कमांड प्रॉम्प्ट)

dumpbin /ARCHIVEMEMBERS openssl.x86.lib 

या

lib /LIST openssl.x86.lib 

या बस इसे 7 के साथ खुल ज़िप :) इसका एक एआर संग्रह

+0

मुझे कभी नहीं पता था कि आप 7-ज़िप के साथ .lib फ़ाइलों को खोल सकते हैं, बहुत बहुत धन्यवाद! – KymikoLoco

+3

7-ज़िप के साथ कूल चाल दो .txt फाइलें होती है, इसका मतलब क्या है? – Damian

+0

"या इसके लिए इसे 7-ज़िप के साथ खोलें :) इसके एआर संग्रह" –

4

"DUMPBIN -exports" dll लिए काम करता है, लेकिन कभी कभी lib के लिए काम नहीं कर सकते हैं। Lib के लिए हम "डंपबिन-लिंकमम्बर" या बस "डंपबिन -लिंकमेम्बर: 1" का उपयोग कर सकते हैं।

संबंधित मुद्दे