मेरा ऐप कई साझा पुस्तकालयों में खींचता है। कुछ सी ++ में लिखे गए हैं जो libstdC++ में खींचते हैं। जो libgcc_s.so में खींचता है। फिर भी दूसरों को सादे सी में लिखा गया है और -स्टैटिक-libgcc से जुड़ा हुआ है।क्या libgcc_s.so एक ही प्रक्रिया में स्थिर और गतिशील दोनों से जुड़ा हुआ है ठीक है?
तो अब मैं libgcc के टुकड़े स्थिर कई साझा पुस्तकालयों के अंदर जुड़ा हुआ है और libstdc गतिशील रनटाइम पर libgcc के अन्य बिट्स लोड हो रहा है ++ है।
Q1: इस स्थापना मुझे किसी भी परेशानी में हैं? क्या libgcc में आंतरिक स्थिति है जो इस मिश्रित लिंक को समस्याग्रस्त कर देगी, या क्या यह केवल इनलाइन कार्यों में है?
प्रश्न 2: मेरे ऐप को पुराने लिनक्स पर काम करने के लिए, मुझे libstdC++ भेजना चाहिए। और libgcc_s.so और इसे लोड करने के लिए मुख्य exe पर rpath का उपयोग करें। क्या यह करने का सही तरीका है?
मैंने देखा है कि मेरा ऐप जो -स्टैटिक-libgcc के साथ बनाया गया है _on exit_ अगर मैं रनटाइम पर सी ++ लाइब्रेरी लोड करता हूं (जो libgcc_s लोड करता है), लेकिन केवल मिंगव-डब्ल्यू 64 32 बिट पर (मिंगव -64 बिट पर और लिनक्स पर 32 और 64 यह क्रैश के बिना मौजूद है)। – cap