क्या जावा से स्टैंडअलोन (या लाइब्रेरी) मशीन कोड को JVM की आवश्यकता के बिना संकलित करने का कोई तरीका है?क्या मैं जावा को देशी कोड में संकलित कर सकता हूं?
उत्तर
जीसीजे नामक एक उपकरण होता था जो जीसीसी का हिस्सा था, लेकिन यह been removed है। अब, जीसीसी साइट के सभी लिंक अपने गैर-जीसीजे समकक्षों को फिर से निर्देशित करते हैं।
एनबी: टिप्पणियां सभी ने मेरे मूल उत्तर में कहा कि आप जावा को जीसीजे के साथ देशी कोड में संकलित कर सकते हैं।
+1, अच्छा, मुझे इसके बारे में पता नहीं था! – FrustratedWithFormsDesigner
हाँ, जीसीजे सबसे प्रसिद्ध व्यक्ति है। @ isola009: ध्यान रखें कि देशी कोड को संकलित करते समय, आप संभवतः * पुस्तकालयों * के एक सबसेट (संभवतः नाटकीय रूप से छोटे सबसेट) के साथ काम करेंगे, जो सामान्य रूप से जावा डिफ़ॉल्ट रूप से होता है। सभी खातों द्वारा जीएनयू बहुत अच्छा है, लेकिन वर्तमान जेडीके के पीछे है। –
1.2 * से शुरू होने वाले सभी * जेडीकेएस के पीछे यह ठीक है। मुझे जावा के बजाए गलती से जीएनयू क्लासपाथ चलाने वाले लोगों के साथ कई समर्थन समस्याओं का सामना करना पड़ा है, और वे सभी इसे अनइंस्टॉल करके और सूर्य जेडीके का उपयोग करके अपवाद के बिना थे। – EJP
हां, जेवीएम में जेआईटी वास्तव में आपके लिए है।
वास्तव में यह कोड को पहले से संकलित करने से तेज़ कोड उत्पन्न कर सकता है क्योंकि यह रनटाइम पर कोड का उपयोग करने के तरीके के आधार पर विशिष्ट प्लेटफार्म के लिए अनुकूलित कोड उत्पन्न कर सकता है।
जेवीएम हमेशा शामिल होता है भले ही बहुत उच्च प्रतिशत देशी कोड में संकलित किया गया हो क्योंकि आप बाइट कोड को गतिशील रूप से लोड और चला सकते हैं।
हां, आप सही हैं कि जेआईटी करता है और यह बहुत अच्छा करता है। यह स्टैंडअलोन निष्पादन योग्य नहीं बनाता है, लेकिन तब ओपी उस बारे में नहीं पूछ रहा था .... –
आपको लगता है कि केवल जेआईटी प्लेटफार्म-विशिष्ट अनुकूलन कर सकता है। मुझे लगता है कि जब भी आप बाइटकोड शिपिंग कर रहे हों तो यह संभव है। एआरटी स्थापना पर मूल कोड के लिए बाइटकोड संकलित करता है, और यह एक जेआईटी नहीं है। पीटर, क्या आपके पास इस पर कोई टिप्पणी है? –
@ जेनस ट्रॉल्सन क्या आपके पास इस कंपाइलर का लिंक है? क्या इसका व्यापक रूप से उपयोग किया जाता है? क्या यह पिछले 5 सालों में जोड़ा गया था? जेआईटी के बिना आप गतिशील संकलन नहीं कर सकते हैं जो अधिक महत्वपूर्ण होने की संभावना है। –
Excelsior JET देशी कोड कंपाइलर के लिए एक वाणिज्यिक जावा है।
के माध्यम से चला जाता दिखा सकते हैं, वहाँ गैर-वाणिज्यिक परियोजनाओं के लिए मुफ्त लाइसेंस हैं। –
यह RoboVM से तुलना कैसे करता है? –
- 1. सैद्धांतिक रूप से बोलते हुए, क्या मैं ओपनजेडीके जेआईटी प्राप्त कर सकता हूं, और अपने जावा कोड को देशी में संकलित कर सकता हूं?
- 2. मैं पूरे जेडीके को स्थापित किए बिना विंडोज़ में जावा कोड कैसे संकलित कर सकता हूं?
- 3. क्या सी # कोड देशी बाइनरी में संकलित है?
- 4. एंड्रॉइड- मैं अपने कोड ऑनलाइन कैसे संकलित कर सकता हूं?
- 5. मैं रुबी को जावास्क्रिप्ट में कैसे संकलित कर सकता हूं?
- 6. मैं संकलित जावा कोड के बीच लिंकिंग को कैसे सत्यापित कर सकता हूं?
- 7. क्या टाइटेनियम मोबाइल जावास्क्रिप्ट को देशी जावा या ऑब्जेक्टिव सी संकलित कोड में परिवर्तित करता है?
- 8. देशी एंड्रॉइड बाइनरी को संकलित करना चाहते हैं मैं फोन पर टर्मिनल में चला सकता हूं
- 9. क्या मैं एक संकलित असेंबली डीबग कर सकता हूं?
- 10. मैं क्यूडीए कोड को संकलित कैसे कर सकता हूं, फिर उसे सी ++ प्रोजेक्ट से लिंक कर सकता हूं?
- 11. देशी कोड से जावा पक्ष
- 12. क्या मैं जावा में चर अधिभारित कर सकता हूं?
- 13. मैं जावा वेबस्टार्ट एकाधिक, आश्रित, देशी पुस्तकालय कैसे कर सकता हूं?
- 14. मैं जावा से .NET कोड कैसे कॉल कर सकता हूं?
- 15. देशी कोड
- 16. क्या मैं अपने आर पैकेज को बाइटकोड में संकलित कर सकता हूं?
- 17. मैं रनटाइम पर जावा क्लास को संकलित और तैनात कैसे कर सकता हूं?
- 18. क्या मैं सिस्टम लाइब्रेरी (उदा। Libxml2) को शामिल कर सकता हूं, मैं एक मणि (उदा। नोकोगिरी) में संकलित करता हूं जिसे मैं हरोकू में तैनात कर सकता हूं?
- 19. जावा कोड को मूल कोड में संकलित करने में प्रदर्शन लाभ?
- 20. क्या मैं कक्षा से अलग नाम के साथ एक जावा फ़ाइल संकलित कर सकता हूं?
- 21. गिटहब: क्या मैं उन्हें संकलित किए बिना संकलित फ़ाइलों तक पहुंच प्रदान कर सकता हूं?
- 22. मैं सी में मॉनीटर कैसे कोड कर सकता हूं?
- 23. क्या मैं जेएनआई का उपयोग कर जावा कोड में सी ++ ऑब्जेक्ट्स का संदर्भ दे सकता हूं?
- 24. मैं इसे चलाने के बिना एक्लिप्स में जावा प्रोग्राम कैसे संकलित कर सकता हूं?
- 25. क्या मैं एक जेपीए देशी एसक्यूएल क्वेरी में कॉलम नाम पुनर्प्राप्त कर सकता हूं?
- 26. ग्रहण में, क्या मैं प्रतिनिधि विधियों कोड टेम्पलेट को कस्टमाइज़ कर सकता हूं?
- 27. मैं मोनोमैक के संकलित निर्माण कहां डाउनलोड कर सकता हूं?
- 28. मैं एक गो प्रोग्राम कैसे संकलित कर सकता हूं?
- 29. क्या मैं स्कैला में ब्रांड्स को अधिभारित कर सकता हूं?
- 30. मैं अपने स्रोत कोड को कैसे इंडेक्स कर सकता हूं?
"संकलन" वह शब्द है जिसे आप ढूंढ रहे हैं ("compilate" के बजाय)। –
यदि आपकी रुचि तेज है, तो परेशान न करें जब तक कि आप ऐसे प्लेटफ़ॉर्म को नहीं देख रहे हैं जो HotSpot (Sun's JVM) का समर्थन नहीं करता है। हॉटस्पॉट फ्लाई पर मूल कोड पर बाइटकोड संकलित करता है जहां निष्पादन पथ (कुछ जो बहुत अधिक चलाता है) का "हॉटस्पॉट" दिखाता है, और यह बहुत अच्छा है। लेकिन यदि आप एक JVM की आवश्यकता से बचने के लिए देख रहे हैं, तो, जीसीजे जेम्स को देखें, आपको इंगित किया। –
फिर भी एक और कारण जावा decompilers के खिलाफ सुरक्षा है। हॉटस्पॉट बनाम देशी कंपाइलर के रूप में (बनाम जेआरॉकिट बनाम आईबीएम बनाम जीसीसी बनाम दृश्य सी ++ बनाम हाथ-लेखन-सीपीयू-निर्देश-इन-हेक्स) प्रदर्शन, यह एप्लिकेशन पर निर्भर करता है, इसलिए वाईएमएमवी। –