क्रम पुस्तकालय

From alpha
Jump to navigation Jump to search

कंप्यूटर प्रोग्रामिंग में, एक रनटाइम लाइब्रेरी रनटाइम लाइब्रेरी को संकलित निष्पादन योग्य बाइनरी में कॉल सम्मिलित करके, रनटाइम वातावरण के कुछ व्यवहारों को लागू करने के लिए एक संकलक द्वारा उपयोग किए जाने वाले निम्न-स्तरीय रूटीन का एक सेट है। रनटाइम वातावरण एक प्रोग्रामिंग भाषा के निष्पादन मॉडल, अंतर्निहित कार्यों और अन्य मौलिक व्यवहारों को लागू करता है।[1] उस कंप्यूटर प्रोग्राम के निष्पादन (रन टाइम (प्रोग्राम जीवनचक्र चरण)) के दौरान, रनटाइम लाइब्रेरी में उन कॉलों का निष्पादन निष्पादन योग्य बाइनरी और रनटाइम वातावरण के बीच संचार का कारण बनता है। एक रनटाइम लाइब्रेरी में अक्सर स्मृति प्रबंधन या अपवाद संचालन के लिए अंतर्निहित कार्य शामिल होते हैं।[2] इसलिए, रनटाइम लाइब्रेरी हमेशा प्लेटफ़ॉर्म और कंपाइलर के लिए विशिष्ट होती है।

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

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

एक अन्य उदाहरण के रूप में, एक रनटाइम लाइब्रेरी में बिल्ट-इन लो-लेवल ऑपरेशंस के कोड हो सकते हैं जो संकलन के दौरान उनके इनलाइनिंग के लिए बहुत जटिल होते हैं, जैसे कि अंकगणितीय ऑपरेशंस का कार्यान्वयन जो लक्षित सीपीयू द्वारा सीधे समर्थित नहीं है, या विभिन्न विविध कंपाइलर-विशिष्ट ऑपरेशंस और निर्देश।[2][3] एक रनटाइम लाइब्रेरी की अवधारणा को एक सामान्य कार्यक्रम पुस्तकालय के साथ भ्रमित नहीं होना चाहिए, जैसे कि एक एप्लिकेशन प्रोग्रामर द्वारा बनाया गया या किसी तीसरे पक्ष द्वारा वितरित किया गया, न ही गतिशील पुस्तकालय के साथ, जिसका अर्थ है रन टाइम पर प्रोग्राम लाइब्रेरी। उदाहरण के लिए, सी प्रोग्रामिंग भाषा के लिए केवल एक न्यूनतम रनटाइम लाइब्रेरी की आवश्यकता होती है (आमतौर पर कहा जाता है crt0), लेकिन एक बड़े मानक पुस्तकालय (C मानक पुस्तकालय कहा जाता है) को परिभाषित करता है जिसे प्रत्येक कार्यान्वयन द्वारा प्रदान किया जाना है।[1]


यह भी देखें

संदर्भ

  1. 1.0 1.1 "The C Runtime Initialization, crt0.o". embecosm.com. 2010. Retrieved 2013-12-30.
  2. 2.0 2.1 "Internals of the GNU compilers, Chapter 4. The GCC low-level runtime library". gnu.org. Retrieved 2013-12-30.
  3. "Other Built-in Functions Provided by GCC". GCC Introduction. gnu.org. Retrieved 2013-12-30.


बाहरी संबंध