पर सी में एक dlopen() एड गतिशील लाइब्रेरी से मुख्य प्रोग्राम वैश्विक चर तक पहुंचने के लिए मैं small application रख रहा हूं जिसमें कुछ प्लगइन जैसी कार्यक्षमता है, जिसे रनटाइम-लोड गतिशील मॉड्यूल के माध्यम से कार्यान्वित किया गया है।ओएस एक्स
विशेष रूप से, चूंकि यह एक जीटीके + ऐप है, इसलिए मैं gmodule का उपयोग कर रहा हूं, लेकिन सवाल dlfcn.h/dlopen() आधारित गतिशील लाइब्रेरी लोडिंग पर भी लागू होता है।
मेरा मुख्य कार्यक्रम एक वैश्विक, वैश्विक संरचना चर है जिसमें कुछ वैश्विक जानकारी है। मैं चाहता हूं कि यह जानकारी गतिशील रूप से लोड किए गए प्लगइन में परिभाषित कार्यों के लिए उपलब्ध हो।
लिनक्स पर, मैं सीधे इस वैश्विक चर को संदर्भित कर सकता हूं - यह अच्छी तरह से काम करता है, और मुझे लगता है कि जीसीसी या लिंकर मुख्य कार्यक्रम से गतिशील पुस्तकालयों तक वैश्विक चर निर्यात करने का ख्याल रखता है।
समस्या यह है कि यह मैक ओएस एक्स पर काम नहीं करता है। क्या ओएस एक्स पर ऐसा करने का कोई तरीका है?
यदि नहीं, तो गतिशील रूप से लोड की गई लाइब्रेरीज़ को वैश्विक जानकारी का खुलासा करने के लिए एक और "सर्वोत्तम अभ्यास" तरीका है?
बीटीडब्ल्यू यहां कुछ उदाहरण कोड है जो समस्या को सरल बनाता है: http://pastie.org/749794 – shevron