मैं एक ऐसे अनुप्रयोग में उपयोग के लिए एक संचार मिडलवेयर तैयार कर रहा हूं जिसमें एडा में एक मॉड्यूल और सी ++ में कई मॉड्यूल हैं जो गुजरने वाले पैरामीटर (स्केलर मान) और संरचनाओं को संचारित करते हैं। एप्लिकेशन एमएस विंडोज एक्सपी और विंडोज 7 में चलता है, सी ++ भाग एमएसवीसी ++ 2008 में विकसित किया जा रहा है, एडीए भाग जीपीएस/जीएनएटी का उपयोग करके विकसित किया जा रहा है। एडीए संस्करण 1 99 5 है, लेकिन हम नए एडीए स्पेक का उपयोग करने की संभावना के साथ एक कंपाइलर माइग्रेशन (जीपीएस/जीएनएटी का नया संस्करण) के बीच में हैं।क्या एडा संस्करण रिकॉर्ड सी ++ यूनियन के लिए बाइनरी संगत हो सकता है?
मिडलवेयर सी ++ में लिखा जा रहा है और मैं एक यूनियन प्रकार का उपयोग करना चाहता हूं जिसमें मॉड्यूल के बीच पारित सभी प्रकार शामिल हैं, इसलिए मुझे सिस्टम पर उपयोग किए जाने वाले प्रत्येक प्रकार के लिए एक पुट/फ़ंक्शन फ़ंक्शन निर्दिष्ट करने की आवश्यकता नहीं होगी ।
सवाल यह है कि सी ++ यूनियन बाइनरी एडा संस्करण रिकॉर्ड के अनुकूल हैं? दूसरे शब्दों में, अगर मैं एडीए कोड को सी ++ यूनियन पास करता हूं तो क्या यह इसे एक संस्करण रिकॉर्ड के रूप में पढ़ने में सक्षम होगा? (और इसके विपरीत)
मुझे लगता है कि यह संभव हो सकता है के लिए कुछ समायोजन आवश्यक हो जाएगा ...
आपको शायद प्लेटफ़ॉर्म, कंपाइलर इत्यादि निर्दिष्ट करने की आवश्यकता होगी –
धन्यवाद, अभी और जोड़ा गया हमारे पर्यावरण के बारे में जानकारी। – Guarita