लाइब्रेरी के दो प्रकार के होते हैं:
आयात पुस्तकालयों:
इन पुस्तकालयों केवल सूची जहां के लिए चर/कार्य/आदि, लेकिन वे शामिल नहीं है संदर्भ खोजने के लिए। कोड स्वयं
"सामान्य" पुस्तकालयों (जो वस्तु फ़ाइलों कि मशीन कोड होना होता है):
इन पुस्तकालयों वस्तु फ़ाइलों, जो वास्तविक मशीन कोड होता है होते हैं।
लाइब्रेरी जो ऑपरेटिंग सिस्टम के साथ शिप करते हैं आमतौर पर पुस्तकालय आयात करते हैं।
वास्तविक कोड, आखिरकार, ऑपरेटिंग सिस्टम में ही है; आयात पुस्तकालय केवल आपको बताते हैं कि ऑपरेटिंग सिस्टम में दिए गए कोड का उपयोग कैसे करें।
यह आवश्यक क्यों है? क्योंकि ऑपरेटिंग सिस्टम पर चल रहे पुस्तकालयों को "खोज" करने का कोई तरीका नहीं है, जबकि यह चला रहा है, इसलिए प्रोग्राम को संकलित होने पर क्या उपलब्ध होगा।
जो लोग एक कंपाइलर के साथ आते हैं वे आम तौर पर कोड पुस्तकालय होते हैं; वे कोड शामिल करते हैं जो आपके प्रोग्राम को पूरा करने के लिए कंपाइलर की आवश्यकता होती है (जो आपके विशेष कंपाइलर के आधार पर भिन्न होती है)।
हालांकि, पुस्तकालय के लिए कोई भी "मानक प्रारूप" नहीं है; माइक्रोसॉफ्ट सीओएफएफ का उपयोग करता है, लेकिन * निक्स उपकरण ईएलएफ का उपयोग करते हैं।
तो जब माइक्रोसॉफ्ट किसी सिस्टम के लिए आयात पुस्तकालयों को शिप करता है, तो यह केवल उन्हें सीओएफएफ प्रारूप में भेजता है, जो विजुअल सी ++ कंपाइलर के लिए बहुत अच्छा है - लेकिन अन्य कंपाइलरों के लिए इतना उपयोगी नहीं है। उद्देश्य इन पुस्तकालयों की बिल्कुल द्वारा प्रदान की उन लोगों के रूप के रूप में एक ही है - इस तरह के MinGW के रूप में
इस कारण संकलक विक्रेताओं ऑपरेटिंग सिस्टम जो वे लक्षित करने वाले के लिए अपने स्वयं के आयात पुस्तकालयों बनाने के लिए मजबूर हो ऑपरेटिंग सिस्टम विक्रेता (जैसे माइक्रोसॉफ्ट), लेकिन उनके प्रारूप अलग है।
यही कारण है कि आप कई तरीकों से प्रदान की जाने वाली समान पुस्तकालयों को देखते हैं।
+1 महान प्रश्न। मुझे वास्तव में एक कठिन समय लगता है कि इसका उत्तर कैसे दिया जाए, भले ही मुझे जवाब पता हो! – Mehrdad