2010-10-05 17 views
10

लिंकर कैसे पता चलता है कि रनटाइम पर कौन से प्रतीकों का समाधान किया जाना चाहिए? विशेष रूप से मुझे दिलचस्पी है कि ऑब्जेक्ट फाइलों को साझा करने वाली जानकारी किस प्रकार चलती है जो रनटाइम पर प्रतीकों को हल करने के लिए लिंकर को निर्देश देती है। गतिशील प्रतीक संकल्प रनटाइम पर कैसे काम करता है, यानी प्रतीक खोजने के लिए क्या निष्पादन योग्य होगा और यदि उसी नाम वाले एकाधिक प्रतीकों को परिभाषित किया गया है जो पाए जाएंगे?लिंकर कैसे पता चलता है कि रनटाइम पर कौन से प्रतीकों को हल किया जाना चाहिए?

यदि फ़ाइल केवल स्थिर जुड़ा हुआ था, तो क्या होता है, लेकिन फिर यह एक साझा पुस्तकालय के भाग के रूप रन-टाइम में गतिशील रूप से जुड़ा हुआ है? निष्पादन योग्य द्वारा कौन सा प्रतीक इस्तेमाल किया जाएगा? दूसरे शब्दों में, क्या उन प्रतीकों को साझा लाइब्रेरी में जोड़कर निष्पादन योग्य में प्रतीकों को ओवरराइड करना संभव है?

प्रश्न में मंच सन ओएस है।

+0

प्रत्येक रन-टाइम अलग है। आपको मंच के बारे में अधिक विशिष्ट होना चाहिए। –

उत्तर

1

Linux Journal से इस लेख चेक बाहर का जवाब देता है उम्मीद है। अधिक जानकारी के लिए - शायद विशेष रूप से विंडोज, एईक्स, ओएसएक्स, आदि से संबंधित - मैं Linker (computing) पर विकिपीडिया लेख और उसमें संदर्भों की अनुशंसा करता हूं।

2

नीचे दिए गए लिंक को आज़माएं। मैं इसे अपने प्रश्न

http://www.linuxjournal.com/article/6463

+0

: ओ) मुझे इसे मारो। मैंने अपने उत्तर में एक ही लेख का संदर्भ दिया। गति के लिए ऊपर वोट। –

+0

मैं वास्तव में इस आलेख का उपयोग सी ++ प्रोग्रामिंग से शुरू करने वाले लोगों के लिए एक उदाहरण के रूप में करता हूं और यह काफी प्रभावी है। – Vaibhav

+0

क्या होता है यदि फ़ाइल ** ** केवल ** स्थिर थी, लेकिन फिर यह साझा लाइब्रेरी के हिस्से के रूप में रन-टाइम पर गतिशील रूप से जुड़ा हुआ है? निष्पादन योग्य द्वारा कौन सा प्रतीक इस्तेमाल किया जाएगा? दूसरे शब्दों में, क्या उन प्रतीकों को साझा लाइब्रेरी में जोड़कर निष्पादन योग्य में प्रतीकों को ओवरराइड करना संभव है? – Leonid

0

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

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