मैं इस समस्या में पड़ गए।
- जी ++ C/C++ मानक पुस्तकालय के बिना जोड़ने:
-nostdlib
(ठेठ छोटे एम्बेडेड परिदृश्य) यहाँ की स्थिति जो मज़बूती से परेशानी उत्पन्न करने के लिए लग रहे हैं।
- एक स्थिर आवंटित मानक लाइब्रेरी ऑब्जेक्ट को परिभाषित करना; मेरे मामले के लिए विशिष्ट
std::vector
है। पहले यह std::array
किसी भी समस्या के बिना स्थैतिक रूप से आवंटित किया गया था। स्पष्ट रूप से सभी std::
स्थैतिक रूप से आवंटित ऑब्जेक्ट्स समस्या का कारण नहीं बनेंगे।
- ध्यान दें कि मैं किसी भी प्रकार की साझा लाइब्रेरी का उपयोग नहीं कर रहा हूं।
- GCC/ARM cross compiler उपयोग में है।
यदि यह आपके उपयोग के मामले तो केवल अपने संकलन/लिंक कमांड लाइन करने के लिए कमांड लाइन विकल्प जोड़ने है: -fno-use-cxa-atexit
यहाँ __dso_handle usage as 'handle to dynamic shared object' लिए एक बहुत अच्छा संबंध है।
वहाँ पेज लिखने में कोई गलती हो गया लगता है, लेकिन मुझे नहीं पता कि जो पुष्टि करने के लिए संपर्क करने के लिए है:
के बाद आप वस्तुओं 'निर्माता विनाशकर्ता कहा जाता है जीसीसी स्वचालित रूप से फ़ंक्शन को कॉल ...
मैं और लगता है कि यह पढ़ना चाहिए "एक बार सभी विनाशकर्ता जीसीसी फ़ंक्शन को कॉल बुलाया गया है" ...
एक तरीका यह पुष्टि करने के लिए __cxa_atexit
समारोह को लागू किया जाएगा के रूप में उल्लेख तो एक कदम कार्यक्रम है और यह जहां देखना बुलाया जाता है मैं इन दिनों में से एक कोशिश करूँगा, लेकिन अभी नहीं।