दिलचस्प पोस्ट
प्रबंधित ODP.NET ड्राइवर डेटा स्रोत संवाद में दिखाई नहीं देता एंड्रॉइड सपोर्ट v7 लाइब्रेरीज़ को एक्लिप्स में कैसे जोड़ें? क्या मैं एक यूआईएल से यूआईएमएज लोड कर सकता हूं? जावास्क्रिप्ट से एमवीसी के मॉडल की संपत्ति तक पहुंच HTML5 / कैनवास का समर्थन डबल बफ़र करता है? java.io.StreamCorruptedException: अवैध स्ट्रीम हैडर: 54657374 SSLHandshakeException: कोई विषय वैकल्पिक नाम मौजूद नहीं है जावा में द्वि-दिशात्मक मानचित्र? मैक्सडेग्री ओफ़पेरललिस्म क्या करता है? क्यों एक वेब ब्राउज़र में PHP स्क्रिप्ट workig नहीं है? UICollectionView: एक गैर-शून्य लेआउट पैरामीटर के साथ आरंभ किया जाना चाहिए चयनित पाठ जावास्क्रिप्ट / JQuery की स्थिति की गणना करें? Xamarin में एक स्थानीय डेटाबेस का उपयोग करें सही पक्ष में एंड्रॉइड चेकबॉक्स कैसे दिखाएं? अंतर्निहित तत्वों के लिए एक DIV के माध्यम से क्लिक करें

Javac और ग्रहण संकलक के बीच क्या अंतर है?

क्या एक्लिप्स के जावा कम्पाइलर एक ही कोर के आस-पास एक आवरण है कि javac प्रोग्राम को चारों ओर लपेटा गया है, या यह पूरी तरह एक अलग संकलक है? यदि उत्तरार्द्ध, वे पहिया को फिर से क्यों बदलेंगे?

Solutions Collecting From Web of "Javac और ग्रहण संकलक के बीच क्या अंतर है?"

ग्रहण ने अपने स्वयं के कंपाइलर को कार्यान्वित किया है जिसे जावा (ईसीजे) के लिए एक्लिप्स कंपाइलर कहा जाता है।

यह जवाक से अलग है, जो कि संकलक को सूर्य जेडीके के साथ भेज दिया गया है। एक उल्लेखनीय अंतर यह है कि एक्लिपस कंपाइलर आपको कोड चलाता है जो वास्तव में ठीक से संकलित नहीं हुआ था। यदि त्रुटि के साथ कोड का ब्लॉक कभी भी नहीं चला, तो आपका प्रोग्राम ठीक चल जाएगा अन्यथा, यह एक अपवाद फेंक देगा जो संकेत करता है कि आपने कोड को चलाने की कोशिश की जो संकलन नहीं करती।

एक और अंतर यह है कि एक्लिपस कंपाइलर एक्लिप्स आईडीई के भीतर से वृद्धिशील निर्माण की अनुमति देता है, अर्थात, आप टाइपिंग खत्म करते ही सभी कोड संकलित हो जाते हैं।

तथ्य यह है कि ग्रहण अपने स्वयं के कंपाइलर के साथ आता है क्योंकि आप जावा एसडीके स्थापित किए बिना एक्लिप्स में जावा कोड लिख सकते हैं, संकलन कर सकते हैं और चला सकते हैं।

कुछ उदाहरण जहां ईसीजे को जवाक के ऊपर पसंद किया गया है:

  • अपाचे टॉमकेट जेएसपी को संकलित करने के लिए ईसीजे का उपयोग करता है,
  • IntelliJ IDEA ECJ के लिए समर्थन है, जावा (जीसीजे) 4.3 के लिए जीएनयू कंपाइलर के रूप में,
  • जीसीजे ईसीजे के साथ एकीकृत करता है,
  • Liferay ECJ के साथ बनाता है

सभी ने पहले ही समझाया है कि वे अलग हैं। यहां मैंने दो कंपाइलर के बीच के व्यवहारों में कुछ अंतर देखा है। वे सभी (कम से कम) कार्यान्वयन में से एक बग में उबालें।

संकलित समय अनुकूलन संबंधित

  • ग्रहण बग? केवल डिफ़ॉल्ट केस के साथ एक अशक्त पर स्विच करना

जेनेरिक प्रकार अवरोध संबंधित

  • जेनेरिक्स एक्लिप्से में संकलित और चलाता है, लेकिन जवाक में संकलन नहीं करता
  • कम्पाइलर एक सामान्य पद्धति के एक अशक्त पैरामीटर के साथ अलग तरीके से व्यवहार करते हैं

ग्रहण के अंतर्निर्मित संकलक आईबीएम के जैक्स जावा कंपाइलर पर आधारित है। (ध्यान दें कि ईक्लिप्स ने आईबीएम में भी अपना जीवन शुरू किया)। यह जेडीके में सन के जावा कम्पाइलर से पूरी तरह से स्वतंत्र है; यह सूर्य के javac आसपास एक आवरण नहीं है

जैक्स एक लंबे समय के लिए अस्तित्व में है, यह मानक JDK जावा कंपाइलर (लेकिन मुझे नहीं पता कि यह अभी भी सच है) की तुलना में बहुत तेजी से हुआ करता था। जैसा कि क्यों आईबीएम अपना जावा कम्पाइलर लिखना चाहता था: हो सकता है कि लाइसेंसिंग कारणों के कारण (उनके पास अपना जावा क्रियान्वयन भी हो)

यह पूरी तरह एक अलग संकलक है यह जवैक के रूप में जरूरी है क्योंकि ग्रहण साइट से थोड़ा टूटा हुआ कोड के संकलन की अनुमति नहीं है

एक वृद्धिशील जावा कम्पाइलर एक्लिपस बिल्डर के रूप में लागू, यह जावा कलेप्लर के लिए विज़ुअलएज से विकसित तकनीक पर आधारित है। विशेष रूप से, यह चलाने और डीबग कोड की अनुमति देता है जिसमें अभी भी अनसुलझे त्रुटियां हैं