2010-03-26 20 views

उत्तर

13

के बीच मुख्य अंतर है, एक ओएस एक्स ढांचे एक गतिशील रूप से जुड़े हुए पुस्तकालय है। फ्रेमवर्क एक special directory structure है जिसे "फ्रेमवर्क बंडल" कहा जाता है जिसमें गतिशील रूप से लिंक्ड लाइब्रेरी के एक या अधिक संस्करण होते हैं, साथ ही निर्भर फ्रेमवर्क, संसाधन, मेटाडेटा इत्यादि। ओएस एक्स पर अन्य "बंडल" में .app बंडल शामिल हैं (जिसमें एक निष्पादन योग्य के साथ-साथ संसाधन, आश्रित ढांचे, आदि ...)।

8

गतिशील पुस्तकालय एक विशिष्ट अवधारणा है जो विशिष्ट प्लेटफॉर्म से अधिकतर स्वतंत्र है, यानी आप ओएसएक्स, लिनक्स, विंडोज पर गतिशील पुस्तकालयों के बारे में बात कर सकते हैं और इसका मतलब मूलभूत बात है - निर्यात किए गए एपीआई प्रतीकों के साथ स्थानांतरित करने योग्य ऑब्जेक्ट कोड का एक टुकड़ा इस तरह से इसे मंच पर अनुप्रयोगों द्वारा मांग पर लोड और साझा करने की अनुमति मिलती है।

एक ढांचा एक ओएसएक्स-विशिष्ट शब्द है। यह एक पैकेज है जो कुछ सामान्य रूप से निर्देशिका संरचना पर सहमत होता है और गतिशील पुस्तकालयों, संसाधनों, पैकेज का विवरण और पूर्वनिर्धारित स्थानों पर अन्य प्रासंगिक सामग्री संग्रहीत करता है। जिसका अर्थ है कि इसमें अधिकतर अर्थात् है जिसका अर्थ है डेवलपर्स (और वे जो उपकरण बनाते हैं) को सामान्य रूप से समझने के लिए संदर्भित करते हैं। यह ध्यान देने योग्य है कि साझा पुस्तकालयों में ढांचे की आवश्यकता नहीं है।

+0

लेकिन जब हम साझा लाइब्रेरी कहते हैं, तो इसका मतलब है कि एक साथ चलने वाले कई एप्लिकेशन उस एकल लाइब्रेरी को सही तरीके से साझा कर सकते हैं? तो मान लीजिए कि क्या गतिशील पुस्तकालय में वैश्विक चर है और उस चर को एक्सेस करने वाले अनुप्रयोगों का अपना उदाहरण होगा, यह कैसे संभव है? मैं भ्रमित हो रहा हूँ। – PrithviRaj

+3

@prithviraj - ऑपरेटिंग सिस्टम जो पूरे पुस्तकालय कोड को साझा करते हैं, कोड सेगमेंट साझा करते हैं। डेटा सेगमेंट को आम तौर पर "कॉपी-ऑन-राइट" के रूप में लोड किया जाता है, जिसका अर्थ है कि एक प्रतिलिपि लोड हो जाती है और कोई भी कोड जो कभी भी इसे कॉपी नहीं करता है। जैसे ही पुस्तकालय के डेटा सेगमेंट में परिवर्तन किए जाते हैं, वहीं पृष्ठों को केवल पढ़ने-योग्य कोड पृष्ठों को साझा करते समय एप्लिकेशन की स्थानीय मेमोरी स्पेस में कॉपी किया जाता है। –

2

Anatomy of a Framework उपयोगी हो सकता है। विशेष रूप से Versions/Current/MyFramework उस उदाहरण में उल्लिखित एक साझा लाइब्रेरी है। वह अनुभाग कुछ अन्य चीजों का वर्णन करने के लिए चला जाता है जो ढांचे के बंडल में मौजूद हो सकते हैं।

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