मेरे पास सी ++ में लिखा गया एक प्रोग्राम है जो गतिशील पुस्तकालय (लिनक्स, i386, .so) लोड करने के लिए डलोपेन का उपयोग करता है। जब लाइब्रेरी फ़ाइल को बाद में संशोधित किया जाता है, तो मेरा प्रोग्राम क्रैश हो जाता है। यह समझ में आता है, क्योंकि संभवतः फ़ाइल को स्मृति में मैप किया गया है।डलोपेन का उपयोग करके, मैं लोड की गई लाइब्रेरी फ़ाइल में परिवर्तनों का सामना कैसे कर सकता हूं?
मेरा प्रश्न है: बस मुझे फ़ाइल की प्रतिलिपि बनाने और dlopening बनाने के अलावा, मेरे लिए एक साझा ऑब्जेक्ट लोड करने का कोई तरीका है जो बाद में संशोधनों के विरुद्ध सुरक्षित है, या किसी भी ऑब्जेक्ट को संशोधित ऑब्जेक्ट में पुनर्प्राप्त करने के लिए कि मैंने लोड किया है?
स्पष्टीकरण: सवाल यह है कि नहीं "कैसे मैं इस कार्यक्रम दुर्घटनाग्रस्त बिना एक नए पुस्तकालय स्थापित कर सकते हैं", यह "है अगर किसी को मैं कौन नियंत्रण नहीं भर के पुस्तकालयों को कॉपी है, यह संभव है मेरे खिलाफ की रक्षा करने के लिए है उस?"
यह सही है। –