क्या एक्लिप्स का जावा कंपाइलर केवल उसी कोर के चारों ओर एक आवरण है जिसे javac
प्रोग्राम के चारों ओर लपेटा जाता है, या यह पूरी तरह से एक अलग कंपाइलर है? यदि उत्तरार्द्ध, वे पहिया को क्यों मजबूत करेंगे?
क्या एक्लिप्स का जावा कंपाइलर केवल उसी कोर के चारों ओर एक आवरण है जिसे javac
प्रोग्राम के चारों ओर लपेटा जाता है, या यह पूरी तरह से एक अलग कंपाइलर है? यदि उत्तरार्द्ध, वे पहिया को क्यों मजबूत करेंगे?
जवाबों:
ग्रहण ने अपने स्वयं के संकलक को जावा (ECJ) के लिए ग्रहण संकलक के रूप में लागू किया है ।
यह javac से अलग है, संकलक जिसे Sun JDK के साथ शिप किया गया है। एक उल्लेखनीय अंतर यह है कि एक्लिप्स कंपाइलर आपको कोड चलाने देता है जो वास्तव में ठीक से संकलित नहीं हुआ था। यदि त्रुटि वाला कोड ब्लॉक नहीं किया गया है, तो आपका प्रोग्राम ठीक चलेगा। अन्यथा, यह एक अपवाद को दर्शाता है कि आपने कोड चलाने की कोशिश की है जो संकलन नहीं करता है।
एक और अंतर यह है कि ग्रहण संकलक ग्रहण आईडीई के भीतर से वृद्धिशील बनाता है, अर्थात, जैसे ही आप टाइप करते हैं, सभी कोड संकलित हो जाते हैं।
तथ्य यह है कि ग्रहण अपने स्वयं के संकलक के साथ आता है, यह भी स्पष्ट है क्योंकि आप जावा एसडीके को स्थापित किए बिना भी ग्रहण में जावा कोड लिख सकते हैं, संकलन कर सकते हैं और चला सकते हैं।
कुछ उदाहरण जहां ECJ को javac पर पसंद किया जाता है:
-proceedOnError
और यह त्रुटियों के साथ स्रोत से .class फ़ाइलों का उत्पादन नहीं करेगा।
सभी ने पहले ही समझाया कि वे अलग हैं। यहां उन व्यवहारों में कुछ अंतर है जो मैंने दो संकलक के बीच देखे हैं। वे सभी कार्यान्वयन में से एक (कम से कम) में एक बग को उबालते हैं।
एक्लिप्स का बिल्ट-इन कंपाइलर IBM के Jikes java कंपाइलर पर आधारित है । (ध्यान दें कि आईबीएम में भी ग्रहण ने अपना जीवन शुरू किया)। यह जेडीके में सन के जावा कंपाइलर से पूरी तरह से स्वतंत्र है; यह सूर्य के चारों ओर एक आवरण नहीं है javac
।
लंबे समय से Jikes का अस्तित्व है, यह मानक JDK जावा संकलक की तुलना में बहुत तेज हुआ करता था (लेकिन मुझे नहीं पता कि यह अभी भी सच है)। क्यों आईबीएम अपने स्वयं के जावा कंपाइलर लिखना चाहता था: शायद लाइसेंसिंग कारणों के कारण (उनका अपना जावा कार्यान्वयन भी है)।
यह पूरी तरह से एक अलग संकलक है। यह आवश्यक है क्योंकि जेवैक से थोड़ा टूटे हुए कोड के संकलन की अनुमति नहीं है ग्रहण साइट
एक वृद्धिशील जावा संकलक। एक्लिप्स बिल्डर के रूप में कार्यान्वित, यह जावा कंपाइलर के लिए विजुअलएज से विकसित तकनीक पर आधारित है। विशेष रूप से, यह कोड को चलाने और डिबग करने की अनुमति देता है जिसमें अभी भी अनसुलझे त्रुटियां हैं।