2011-11-05 19 views
5

मैं कैसे कह सकता हूं। lib फ़ाइल एक स्थिर लाइब्रेरी बनाम है। एक डीएलएल के लिए एक आयात पुस्तकालय? क्या कोई उपकरण या आदेश है जो ऐसा कर सकता है?स्थिर पुस्तकालय बनाम। विंडोज प्लेटफ़ॉर्म पर आयात लाइब्रेरी

दूसरा सवाल यह है कि मैं एक स्थिर पुस्तकालय की निर्भरताओं की जांच कैसे कर सकता हूं, मेरा मतलब है कि मुझे कैसे पता चलेगा कि इस स्थिर पुस्तकालय में कौन से डीएलएल शामिल हैं?

यहां किसी भी मदद के लिए धन्यवाद।

सादर,

+0

वह जानकारी .lib फ़ाइल –

+0

के साथ प्रदान की जाएगी यदि आपके पास कोई सुराग नहीं है तो आप * नहीं चाहते * पुस्तकालय का प्रयोग करें। कोड के मालिक से संपर्क करें और समर्थन विकल्पों के बारे में पूछें। –

+1

ध्यान दें कि स्थैतिक पुस्तकालय और आयात पुस्तकालय स्पेक्ट्रम में केवल दो एक्स्ट्रेमा हैं। आप एक मिश्रित स्थैतिक/आयात पुस्तकालय भी हो सकते हैं। –

उत्तर

5

आयात पुस्तकालय अपने कार्यक्रम के लिए एक DLL निर्भरता जोड़ देगा। यदि आपके पास डीएलएल नहीं है तो आपका प्रोग्राम शुरू नहीं होगा। (आप अपने प्रोग्राम के डीएलएल के नामों पर निर्भर होने के लिए Dependency Walker का उपयोग कर सकते हैं)।

अफैसिक स्टेटिक पुस्तकालयों में निर्भरता नहीं है। वे कार्यक्रम में जुड़े हुए हैं, केवल लिंकर त्रुटियां आपको बताएंगी कि क्या वह विशेष पुस्तकालय किसी अन्य lib पर निर्भर करता है। (कम से कम जीसीसी में, मुझे नहीं पता कि एमएस टूल्स का व्यवहार क्या है।)

+0

इस पर विस्तार करने के लिए: स्थिर पुस्तकालय को एक छोटे से प्रोग्राम के साथ लिंक करें, और फिर किसी भी नई डीएलएल निर्भरताओं को देखने के लिए निर्भरता वॉकर का उपयोग करें। –

+4

स्थैतिक पुस्तकालयों में आमतौर पर कम से कम मूलभूत सिस्टम लाइब्रेरीज़ (ntdll.dll, आदि) के लिए डीएलएल निर्भरता होती है और भाषा रनटाइम के लिए निर्भरता भी हो सकती है, उदाहरण के लिए, msvcrt.dll। –

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