मैं मूल रूप से प्रबंधित और मूल कोड और उनके difference के विचार को समझता हूं। लेकिन उनके लिए एक दूसरे के साथ संवाद करने के लिए तकनीकी रूप से संभव कैसे है? कल्पना कीजिए कि निम्न उदाहरण:मिश्रित कोड (मूल, प्रबंधित): यह कैसे (तकनीकी रूप से) इंटरऑपरेट करता है?
मैं कुछ स्थिर या गतिशील C++ पुस्तकालय जो एक विशिष्ट मंच के लिए संकलित किया गया है मिला है। अब मैं एक जावा प्रोग्राम लिखता हूं। इस कोड के अंदर मैं लाइब्रेरी फ़ंक्शंस को 'मूल' कीवर्ड से कॉल करता हूं। मैं बाइटकोड के साथ एक जार फ़ाइल बनाता हूं और सी ++ लाइब्रेरी फाइलें अलग रहेंगी। नतीजा अब मंच-स्वतंत्र नहीं होगा।
लेकिन जावा प्रोग्रामम को कैसे पता चलता है कि मूल देशी विधियां मौजूद हैं या नहीं?
रनटाइम के दौरान पूरे प्रोग्राममोड को कैसे निष्पादित किया जाता है? मुझे पता है कि बाइटकोड का अर्थ जेआईटी के साथ किया जाएगा या संकलित किया जाएगा।
यह कैसे सैंडबॉक्सिंग प्रतिमान में सभी फिट करता है? क्या देशी कोड भी सैंडबॉक्स के अंदर निष्पादित किया गया है?
यह काम करता है, क्योंकि दोनों (जावा और सी ++) कोड मशीन कोड है अंत में?
शायद यह एक बेवकूफ सवाल है। लेकिन मैं हमेशा सोच रहा था ...
संपादित करें: मुझे 3 अच्छे उत्तर मिल गए हैं। वास्तव में यह तय नहीं कर सकता कि किसने मुझे सबसे ज्यादा मदद की। लेकिन मैं इस सवाल को मेरी तरफ से इस विषय को बंद करने के उत्तर के रूप में चिह्नित करूंगा।