आपकी स्पष्टीकरण के साथ भी, जवाब यह है कि यह निर्भर करता है - सटीक बूट अनुक्रम हार्डवेयर पर निर्भर करता है - हालांकि इसमें काफी समानता है। बूट लोडर आम तौर पर एक पूर्ण पते पर लोड होता है, और जिस फ़ाइल में निहित फ़ाइल को अक्सर स्मृति में पढ़ा जाता है। इसका मतलब है कि एक सामान्य लिंकर के बजाय, आप आमतौर पर "लिंकिंग लोकेटर" का उपयोग करते हैं। जहां एक ठेठ लिंकर एक निष्पादन योग्य फ़ाइल को स्थानांतरित करने और लोड करने के लिए तैयार करता है, एक लोकेटर एक निष्पादन योग्य बनाता है जो पहले से ही लागू किए गए सभी स्थानान्तरण के साथ एक सटीक पते पर चलाने के लिए सेट हो चुका है। उन्हें याद रखने के लिए पुरानी पुरानी लोगों के लिए, यह आमतौर पर एक एमएस-डॉस .COM फ़ाइल की तरह काफी सुंदर है।
इसके साथ-साथ, यह (निश्चित रूप से) पूरे रन-टाइम को स्थिर रूप से लिंक करना है, जिस पर प्रोग्राम निर्भर करता है - यह किसी डीएलएल या साझा ऑब्जेक्ट लाइब्रेरी की तरह कुछ पर निर्भर नहीं हो सकता है, क्योंकि कोड या तो लोड करने के लिए उनमें से अभी तक खुद को लोड नहीं किया गया है।
स्रोत
2010-01-18 22:27:27
"फ्रीस्टैंडिंग" परिभाषित करें। आप बाहरी पुस्तकालयों पर कोई निर्भरता का मतलब नहीं है? ओएस और पर्यावरण के लिए क्या? –
में फ्रीस्टैंडिंग के रूप में? कोई ऑपरेटिंग सिस्टम नहीं है? कोई गतिशील पुस्तकालय नहीं? –
@ जोश केली: "फ्रीस्टैंडिंग" से मेरा मतलब है कि एक प्रोग्राम जो मूल रूप से कंप्यूटर पर लोड किया गया पहला प्रोग्राम है (उदाहरण के लिए ओएस)। मुझे पता है कि ज्यादातर लोग एएसएम में बूट-स्ट्रैपर लिखते हैं लेकिन मैं सोच रहा था कि सी ++ में ऐसा करना संभव है या नहीं। –