मुझे पता है कि वीडियो गेम जैसे कई बड़े पैमाने पर एप्लिकेशन कई लैंगेज का उपयोग करके बनाए जाते हैं। उदाहरण के लिए, गेमप्ले कार्यों के दौरान गेम/भौतिकी इंजन सी ++ में लिखे गए हैं, जीयूआई पाइथन या लुआ जैसे कुछ में लिखे गए हैं।इंटरऑपरेबिलिटी कैसे काम करता है
मैं समझता हूं क्यों भूमिकाओं का यह विभाजन किया जाता है; उन कार्यों के लिए निम्न-स्तरीय भाषाओं का उपयोग करें जिनके लिए चरम अनुकूलन, ट्वीविंग, दक्षता और गति की आवश्यकता होती है, जबकि उत्पादन के समय को तेज करने के लिए उच्च स्तरीय भाषाओं का उपयोग करते समय, खराब बग ect को कम करें।
हाल ही में, मैंने एक बड़ी निजी परियोजना शुरू करने का निर्णय लिया है और उपर्युक्त परियोजना के हिस्सों को विभाजित करना चाहता हूं। इस समय, मैं वास्तव में उलझन में हूं कि भाषाओं के बीच यह अंतःक्रियाशीलता (विशेष रूप से संकलित बनाम बनाम) काम करता है।
मैं सी/सी ++ जैसे कुछ में लिखे जाने पर निष्पादन योग्य लोड करने के लिए ANSCII कोड परीक्षण से जाने के विवरण से काफी परिचित हूं। मैं बहुत उत्सुक हूं कि वीडियो गेम की तरह कुछ अलग-अलग भाषाओं से कैसे बनाया जाता है, काम करता है। यह एक बड़ा/व्यापक प्रश्न है, लेकिन विशेष रूप से मुझे इसमें दिलचस्पी है:
- कोड-स्तरीय तर्क कैसे काम करता है? अर्थात। मैं एक सी ++ प्रोग्राम से पायथन कोड कैसे कॉल कर सकता हूं? खासकर जब से वे एक ही अंतर्निहित प्रकार का समर्थन नहीं करते हैं?
- प्रोग्राम छवि कैसी दिखती है? जो मैं कह सकता हूं, एक वीडियो गेम एक ही प्रक्रिया में चल रहा है, तो एक पाइथन फ़ंक्शन को कॉल करने वाले सी/सी ++ प्रोग्राम चलाने पर रनटाइम छवि कैसा दिखती है?
- यदि किसी संकलित प्रोग्राम से किसी व्याख्या की गई भाषा से कोड को कॉल करना, घटनाओं का अनुक्रम क्या होता है? I.e अगर मैं अपने संकलित निष्पादन योग्य के अंदर हूं, और किसी कारण से लूप के अंदर एक व्याख्या की गई भाषा पर कॉल किया गया है, तो क्या मुझे हर पुनरावृत्ति के लिए दुभाषिया का इंतजार करना होगा?
मुझे वास्तव में मशीन-स्तर पर क्या हो रहा है, इस बारे में जानकारी खोजने में कठिनाई हो रही है, इसलिए किसी भी मदद की सराहना की जाएगी। हालांकि मैं सॉफ्टवेयर के अंतःक्रिया के बारे में सामान्य रूप से उत्सुक हूं, मैं विशेष रूप से सी ++ और पायथन बातचीत में रूचि रखता हूं।
किसी अंतर्दृष्टि के लिए आपको बहुत बहुत धन्यवाद, भले ही यह मुझे इंगित कर रहा हो कि मुझे और जानकारी कहां मिल सकती है।
आप शायद सही अवधि – aryjczyk
@aryjczyk आप लिंक के लिए धन्यवाद के लिए खोज करने के लिए नहीं पता था http://en.wikipedia.org/wiki/Foreign_function_interface। हाँ, मुझे उस शब्द के बारे में पता नहीं था। यह समझने में मदद करने में यह बहुत अच्छा है कि यह कैसे किया जाता है। मैं अभी भी उलझन में हूं कि इस तरह शारीरिक रूप से कुछ कैसे काम करता है, खासकर जीसी बनाम गैर-जीसी वातावरण में। मुझे नहीं पता कि प्रक्रिया छवि कैसी दिखती है। वैसे भी, धन्यवाद, और मैं देख रहा हूँ! – gone