वीएस 2010 में दोहरी व्यक्तित्व है। विशेष रूप से, यह वास्तव में दो पूरी तरह से अलग संकलक फ्रंट सिरों है।
जब आप कोड संकलित करते हैं, तो यह माइक्रोसॉफ्ट के अपने कंपाइलर के साथ किया जाता है, जो एमएस-डॉस के लिए एमएस सी 3.0 पर वापस जाता है, ~ 3 दशक पहले जारी किया गया था (यदि आप सोच रहे हैं कि यह 3.0 क्यों था, एमएस इससे पहले लैटिस सी का पुनः लेबल वाला संस्करण बेचा गया)।
वीएस 2008 तक, आईडीई में पार्सिंग कंपेलर की तुलना में आदिम थी, इसलिए इसने बहुत अधिक परिष्कृत सी ++ को सही ढंग से पार्स नहीं किया। उन्होंने फैसला किया कि संक्रामक से मेल खाने के लिए आईडीई के मौजूदा पार्सर को अपग्रेड करने की कोशिश करने के बजाय अस्वीकार्य था, उन्होंने ईडीजी कंपाइलर फ्रंट एंड को लाइसेंस दिया।
यह विपरीत स्थिति को कम या कम देता है: इंटेलिसेंस के लिए आईडीई का पार्सर अब कंपाइलर पर एक के अनुरूप होने के करीब है, और संकलक के सी ++ 0x संरचनाओं की एक उचित संख्या को पहचानता है जो संकलक नहीं करता है।
कहानी के मुकाबले कुछ और है, हालांकि: ईडीजी कंपाइलर फ्रंट एंड वीसी ++ की तरह उचित कार्य करने के लिए एक स्विच का समर्थन करता है, जिसमें वीसी ++ की उचित संख्या को अनुकरण करना शामिल है। हालांकि मेरे पास इसकी पुष्टि करने के लिए डेटा नहीं है, मेरी धारणा यह होगी कि माइक्रोसॉफ्ट उस क्षमता का उपयोग करता है। चूंकि यह ईडीजी पर आधारित है, वीसी ++ कंपाइलर ले रहा है, और इसकी बग को अनुकरण कर रहा है, यह शायद एक उचित अनुमान है कि (कम से कम आमतौर पर) ईडीजी का वीसी ++ इम्यूलेशन वीसी ++ के पीछे एक संस्करण के बारे में बताएगा। इससे कुछ हद तक विरोधाभासी स्थिति होती है जहां ईडीजी (सामान्य उपयोग में) आमतौर पर वीसी ++ से थोड़ा आगे होता है, लेकिन आईडीई में संस्करण एमएस का उपयोग संभवतया कम से कम थोड़ा सा होता है।
स्रोत
2011-08-17 18:02:33
धन्यवाद! एक ऐतिहासिक परिप्रेक्ष्य के साथ सवाल का जवाब देने के लिए +1 भी। – ForeverLearning
मुझे यकीन नहीं है कि इंटेलिजेंस पार्सर आपूर्ति किए गए कंपाइलर की तुलना में मानक के करीब है। जब मैं इंटेलिजेंस दिखाता हूं कि "कोई ऑपरेटर मिलान ऑपरेशंस" नहीं दिखा रहा है, जबकि मैं इंटेलिजेंस को एडीएल को बिना किसी समस्या के पाता हूं। ऐसा लगता है कि अनुरूपता के लिए एक अलग पार्सर का कारण नहीं था, बल्कि पार्सिंग गति। –
@ जीन - कंपाइलर एडीएल और टेम्पलेट्स सही तरीके से नहीं करने के लिए जाना जाता है।ईडीजी फ्रंट एंड अधिक विश्वसनीय है। –