माइक्रोसॉफ्ट विजुअल सी ++
Developer(s) | Microsoft |
---|---|
Initial release | February 1993[1] |
Stable release | 14.32.31326
/ May 10, 2022 |
Written in | C++[2] |
Operating system | Windows |
Platform | IA-32, x86-64 and ARM |
Available in | English, Chinese (Simplified & Traditional), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazilian), Russian, Spanish, Turkish |
Type | Compiler |
License | Trialware and freeware |
Website | docs |
माइक्रोसॉफ्ट विजुअल सी ++ (MSVसी) माइक्रोसॉफ्ट द्वारा सी ,सी ++ और सी++/सीएक्स प्रोग्रामिंग भाषाओं के लिए एक अनुभाषक (कंप्यूटर) है। MSVसी स्वामित्व सॉफ्टवेयर है; यह मूल रूप से एक खुद को साबित करने वाला प्रोग्राम का सँयोजन था लेकिन बाद में माइक्रोसॉफ्ट विज़ुअल प्रसार कक्ष का एक हिस्सा बन गया और ट्रायलवेयर, फ्रीवेयर दोनों रूपों में उपलब्ध कराया गया। इसमें सी++ कोड के विकास और डिबगिंग के लिए उपकरण हैं, विशेष रूप से विंडोज़ API, DireसीtX और .एनईटीके लिए लिखे गए कोड।
कई अनुप्रयोगों को ठीक से काम करने के लिए पुनर्वितरण योग्य विज़ुअल सी++ क्रम लाइब्रेरी पैकेज की आवश्यकता होती है। इन पैकेजों को प्रायः उनके द्वारा समर्थित अनुप्रयोगों से अलग स्थापित किया जाता है, जिससे कई अनुप्रयोगों को केवल एक संस्थापन के साथ पैकेज का उपयोग करने में सक्षम बनाया जाता है। ये विज़ुअल सी++ पुनर्वितरण योग्य और क्रम पैकेज ज्यादातर मानक लाइब्रेरी के लिए स्थापित किए जाते हैं जिनका उपयोग कई अनुप्रयोगों के लिए करते हैं।[3]
इतिहास
विजुअल सी ++ के पूर्ववर्ती को माइक्रोसॉफ्ट सी/सी++ कहा जाता था। विंडोज 1.0 के लिए माइक्रोसॉफ्ट क्विक सी 2.5 और माइक्रोसॉफ्ट क्विक सी भी था। विज़ुअल सी++ अनुभाषक को अभी भी माइक्रोसॉफ्ट सी/सी++ के रूप में जाना जाता है और विज़ुअल सी++ 2015 नवीनीकरण दो के प्रकाशन के अनुसार, संस्करण 14.0.23918.0 पर है।[citation needed]
16-बिट संस्करण
- माइक्रोसॉफ्ट सी 1.0, जालक सी पर आधारित, 1983 में माइक्रोसॉफ्ट का पहला सी परिणाम था। यह K&R सी के अनुरूप नहीं था।
- सी 2.0 ने संग्रह अनुभाग और आंकड़े अनुभाग दोनों के लिए 1MiB तक की अनुमति देते हुए बड़े मॉडल समर्थन को संकलित किया। [4]
- सी 3.0 माइक्रोसॉफ्टके अंदर विकसित पहला संस्करण था।[5] इस संस्करण का उद्देश्य K&R और बाद के ANSI मानक के साथ अनुरूपता थी । यह 1984 की शुरुआत में माइक्रोसॉफ्ट (विंडोज़ और ज़ेनिक्स विकास के लिए) के अंदर उपयोग किया जा रहा था। इसे 1985 में एक परिणाम के रूप में भेज दिया गया था।
- सी 4.0 ने इष्टतमीकरण और संग्रह व्यू, एक स्रोत-स्तरीय-डीबगर जोड़ा।
- सी 5.0 ने चक्र इष्टमीकरण और 'विशाल मेमोरी मॉडल' (64 केबी से बड़ा सरणी) समर्थन जोड़ा। माइक्रोसॉफ्ट फोरट्रान और 80386 के लिए पहला 32-बिट अनुभाषक भी इस युक्ति का हिस्सा था।
- 1988 में जारी सी 5.1 ने OS/2 1.x के लिए संकलन प्रोग्राम की अनुमति दी।
- सी 6.0 1989 में जारी किया गया। इसमें प्रोग्रामर के कार्यक्षेत्र IDE, सार्वत्रिक प्रवाह विश्लेषण, एक स्रोत ब्राउज़र और एक नया डीबगर जोड़ा गया, और एक वैकल्पिक सी++ फ्रंट सिरा सम्मिलित किया गया।[6]
- सी/सी++ 7.0 1992 में जारी किया गया था। सी++ और एमएफसी(माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी ) 1.0 के लिए अंतनिर्मित समर्थन जोड़ा गया।[7]
- विज़ुअल सी++ 1.0, जिसमें एमएफसी2.0 सम्मिलित था, ये फरवरी 1993 में 'विज़ुअल' सी++ का पहला संस्करण जारी किया गया था। यह सीफ्रंट 2.1 के अनुरूप था[8] और दो संस्करणों में उपलब्ध था :[1] * * *मानक: विंडोज के लिए क्विकसी को बदल दिया गया।
- दक्षतापूर्वक: सी/सी++ 7.0 को बदला गया। डॉस और विंडोज अनुप्रयोगों, एक इष्टतमीकरण अनुभाषक, एक स्रोत प्रोफाइलर और विंडोज 3.1 SDK दोनों को बनाने की क्षमता सम्मिलित है।[8] फार घेरा 286 डॉस विस्तारक लाइट भी सम्मिलित थी।[9]
- विजुअल सी++ 1.5 को दिसंबर 1993 में जारी किया गया था, जिसमें एमएफसी2.5 सम्मिलित था, और एमएफसीमें OLE 2.0 और ODBसी का पक्ष जोड़ा गया था। [10] यह विजुअल सी++ का पहला संस्करण था जो केवल सीडी-रोम पर आया था।
- विजुअल सी++ 1.51 और 1.52 प्रमाणीकरण जाँच के भाग के रूप में उपलब्ध थे।
- विजुअल सी++ 1.52b 1.52 के समान है, लेकिन इसमें संचालन विकास उपकरण समूह ( किट) सम्मिलित नहीं है।
- विजुअल सी++ 1.52सी 1.5 का एक पैच किया हुआ संस्करण था। यह माइक्रोसॉफ्ट विंडोज़ 3.x. के लिए विगत और यकीनन सबसे प्रचलित विकास पटल है। यह माइक्रोसॉफ्ट विकास प्रसार के माध्यम से उपलब्ध है।
सख्ती से 32-बिट संस्करण
- विजुअल सी++ 1.0 (मूल नाम: विजुअल सी++ 32-बिट संस्करण) इंटेल 386 स्थापत्य के लिए 32-बिट विकास के लिए पहला संस्करण था। [11] यद्यपि 16-बिट संस्करण 1.5 उपलब्ध होने पर जारी किया गया था, इसमें OLE2 और ओडीबीसी के लिए समर्थन सम्मिलित नहीं था। यह विजुअल सी++ 16/32-बिट सेट नामक पोंटल में भी उपलब्ध था, जिसमें विजुअल सी++ 1.5 सम्मिलित था।[12]
- विज़ुअल सी++ 2.0, जिसमें एमएफसी 3.0 सम्मिलित था, केवल 32-बिट वाला पहला संस्करण था। कई मायनों में, यह संस्करण अपने समय से आगे था, क्योंकि विंडोज 95, के बाद से, तब "शिकागो" कूटनाम , अभी तक जारी नहीं किया गया था, और विंडोज एनटी के पास केवल एक छोटा सा बाजार हिस्सा था। माइक्रोसॉफ्ट ने विजुअल सी++ 1.5 को 2.x विज्ञप्ति के हिस्से के रूप में 2.1 तक सम्मिलित और नवीनतम किया, जिसमें विजुअल सी++ 1.52 और संचालन विकास किट (सीडीके) के 16-बिट और 32-बिट दोनों संस्करण सम्मिलित थे। विजुअल सी++ 2.x ने भी Win32s के विकास का समर्थन किया। यह माइक्रोसॉफ्ट विकास प्रसार के माध्यम से उपलब्ध है। यहाँ एमआईपीएस और अल्फा प्रसंस्कारित्र (यंत्र) के लिए एक विजुअल सी++ 2.0 आरआईएससी संस्करण था, साथ ही मैकितोश (68000 निर्देश सेट) के लिए कई ऑपरेटिंग सिस्टमस पर खुलने में समर्थ सॉफ्टवेर क़ा (क्रॉस-प्लेटफ़ॉर्म ) संस्करण भी था।[13]
- विजुअल सी++ 2.1 और 2.2 अवनिर्देश के माध्यम से उपलब्ध 2.0 के लिए नवीनतम थे।
- 1995-12-11 को जारी विजुअल सी++ 4.0, [14] ने विकास प्रसारण-कक्ष आईडीई की शुरुआत की। [14] गैर-अतिव्यापी पट्टिकाएँ-दिशाज्ञान पट्टिका , संयोजन संपादक/स्रोत स्तर डीबगर(एक प्रोग्राम जो दूसरे प्रोग्राम्स में कमियों का अन्वेषण करता है) पट्टिका , और कंसोल आउटपुट पट्टिका [15] - विजुअल प्रसारण-कक्ष परिणाम पंक्ति (2013 तक) के माध्यम से जारी है।विज़ुअल सी++ 4.0 में एमएफसी 4.0 सम्मिलित है, इसे विंडोज़ 95 और विंडोज़ एनटी के लिए प्रारूपित किया गया था। रिक्थ ( विंडोज़ 3.x/DOS) युक्ति के समर्थन की अनुमति देने के लिए, 4.0 विजुअल सी++ 1.52 स्थापन सीडी के साथ समूह में आया। अवनिर्देश के माध्यम से उपलब्ध अद्यतन में विजुअल सी++ 4.1 सम्मिलित है, जो माइक्रोसॉफ्ट गेम एसडीके (बाद में X के समक्ष एसडीके के रूप में अलग से जारी किया गया) और विजुअल सी++ 4.2 के साथ आया। विजुअल सी++ 4.0 और एमएफसी 4.0 के बीच संस्करण संख्या समानता प्राप्त करने के लिए संस्करण संख्या 3.0 को छोड़ दिया गया था।[15]
- विज़ुअल सी++ 4.2 ने विंडोज़ 3.x (Win32s) के विकास का समर्थन नहीं किया।[16] यह उपलब्ध मैक (कंप्यूटर) के लिए एक क्रॉस-प्लेटफ़ॉर्म संस्करण के साथ अंतिम संस्करण था और यह 2.x संस्करण से भिन्न था जिसमें यह सामर्थ्यपीसी निर्देश सेट के लिए संग्रह की भी अनुमति देता था।
- विजुअल सी++ 5.0, जिसमें एमएफसी 4.21 सम्मिलित था और 1997-04-28 को जारी किया गया था,[14]4.2 से एक प्रमुख उन्नयन था।[17] चार संस्करणों में उपलब्ध: शिक्षा,[18] दक्षता,[19] उद्यम,[20] और आरआईएससी।[21]
- विजुअल सी++ 6.0 (आमतौर पर वीसी6 के रूप में जाना जाता है), जिसमें एमएफसी 6.0 सम्मिलित था, 1998 में जारी किया गया था।[22][23] प्रदर्शन कुछ विवादग्रस्त था क्योंकि इसमें एमएफसी के लिए प्रत्याशितअद्यतन सम्मिलित नहीं था। विज़ुअल सी++ 6.0 अभी भी पर्याप्त लोकप्रिय है और अक्सर रिक्थ युक्ति को बनाए रखने के लिए उपयोग किया जाता है। हालाँकि,यहाँ विंडोज़ एक्सपी के तहत इस संस्करण के साथ समस्याएँ हैं, विशेष रूप से डिबगिंग प्रणाली के तहत (उदाहरण के लिए, स्थिर चर के मान प्रदर्शित नहीं होते हैं)। डीबगिंग समस्याओं को विजुअल सी++ 6.0 प्रसंस्कारित्र पैक नामक पैच से हल किया जा सकता है।[24] संस्करण संख्या: 12.00.8804
- विज़ुअल सी++ .एनईटी 2002 (विज़ुअल सी++ 7.0 के रूप में भी जाना जाता है), जिसमें एमएफसी 7.0 सम्मिलित था, 2002 में लिंक टाइम कोड जनरेशन और डिबगिंग क्रम चेक, .एनईटी 1.0, और विजुअल सी# और व्यवस्थित सी++ के लिए समर्थन के साथ जारी किया गया था। नए उपयोगकर्ता अंतरापृष्ठ विज़ुअल आधार रूप की कई व्यस्त उपाय और अभिसमय का उपयोग किया, जो सी++ विकास के बीच इसकी कुछ अलोकप्रियता के लिए जिम्मेदार है।[citation needed] संस्करण संख्या: 13.00.9466
- विज़ुअल सी++ .एनईटी 2003 (विज़ुअल सी++ 7.1 के रूप में भी जाना जाता है), जिसमें एमएफसी 7.1 सम्मिलित था, 2003 में .एनईटी 1.1 के साथ जारी किया गया था और यह विजुअल सी++ .एनईटी 2002 का एक प्रमुख उन्नयन था। इसे विज़ुअल सी++ .एनईटी 2002 का एक पट्टी माना गया था। परिणामस्वरूप, विजुअल प्रसारण-कक्ष .एनईटी 2003 के अंग्रेजी भाषा के उन्नयन संस्करण को विजुअल प्रसारण-कक्ष .एनईटी 2002 के अंग्रेजी भाषा के संस्करण के स्वामियों के लिए न्यूनतम लागत पर भेज दिया गया। योजनापूर्ण के रूप में विंडोज 95 और एनटी 4.0 का समर्थन करने वाला यह अंतिम संस्करण था (विजुअल सी++ 2005 के साथ बनाए गए फंक्शन योग्यों में कर्नेल32.डीएलएल में कार्य IsDebuggerPresent का उद्धरण है जो केवल विंडोज 98 और बाद में उपस्थित है)।।[citation needed] संस्करण संख्या: 13.10.3077
- विभिन्न संस्करणों में अंतःस्थापित विजुअल सी++[26] का उपयोग विंडोज सीई ऑपरेटिंग सिस्टम के कुछ संस्करणों के विकास के लिए किया गया था। प्रारंभ में इसमे विज़ुअल सी++ 6.0 में जोड़े गए उपकरणों से युक्त एक विकास परिवेश को प्रतिस्थापित किया। अंतः स्थापित विजुअल सी++ को माइक्रोसॉफ्ट विजुअल प्रसारण-कक्ष द्वारा एक अलग विकास परिवेश के रूप में प्रतिस्थापित किया गया था।
32-बिट और 64-बिट संस्करण
- विज़ुअल सी++ 2005 (विज़ुअल सी++ 8.0 के रूप में भी जाना जाता है), जिसमें एमएफसी8.0 सम्मिलितथा, नवंबर 2005 में जारी किया गया था। यह संस्करण .एनईटी2.0 का समर्थन करता है और इसमें .एनईटीफ्रेमवर्क (सी++/सीLI) के उद्देश्य से लक्षित सी++ का एक नया संस्करण सम्मिलितहै। पिछले संस्करण (प्रबंधित सी ++) को बदलने का। सीएलआई के लिए प्रबंधित सी ++ अभी भी कंपाइलर विकल्पों के माध्यम से उपलब्ध है। इसने ओपनएमपी भी पेश किया। विजुअल सी++ 2005 के साथ, माइक्रोसॉफ्ट ने टीम फाउंडेशन सर्वर भी पेश किया। विजुअलसी++ 8.0 में एमएफसीAppWizard प्रोजेक्ट्स को संकलित करने में समस्याएँ हैं जो विजुअलStudio 6.0 का उपयोग करके बनाए गए थे, इसलिए यदि पुनर्लेखन संभव नहीं है तो लीगेसी परियोजनाओं का रखरखाव मूल IDE के साथ जारी रखा जा सकता है। विज़ुअल सी++ 2005 विंडोज 98 और विंडोज़ मी को लक्षित करने में सक्षम अंतिम संस्करण है।[25][26] SP1 संस्करण (14.00.50727.762) माइक्रोसॉफ्टविंडोज़SDK में भी उपलब्ध है।
- विजुअल सी++ 2008 (जिसे विजुअल सी++ 9.0 के नाम से भी जाना जाता है) नवंबर 2007 में जारी किया गया था। यह संस्करण .एनईटी3.5 का समर्थन करता है। सीLI के लिए प्रबंधित सी++ अभी भी कंपाइलर विकल्पों के माध्यम से उपलब्ध है। डिफ़ॉल्ट रूप से, विज़ुअल सी++ 2008 रनटाइम्स (स्थैतिक और गतिशील लिंकिंग) के विरुद्ध संकलित सभी एप्लिकेशन केवल विंडोज़2000, विंडोज़XP SP2 और बाद के संस्करण पर काम करेंगे।[27][28] Vसी9 के लिए रिलीज़ किया गया फीचर पैक, जिसे बाद में SP1 में सम्मिलितकिया गया, सी++ सी ++ तकनीकी रिपोर्ट 1 लाइब्रेरी एक्सटेंशन के लिए समर्थन जोड़ा गया। SP1 संस्करण (15.00.30729.01) माइक्रोसॉफ्टविंडोज़SDK में भी उपलब्ध है।
- विज़ुअल सी++ के कुछ संस्करणों ने इटेनियम 2 का समर्थन किया।
- विजुअलसी++ 2010 (जिसे विजुअलसी++ 10.0 के रूप में भी जाना जाता है) 12 अप्रैल, 2010 को जारी किया गया था। यह बेहतर IntelliSense और कोड-पूर्ण समर्थन के लिए IntelliSense जानकारी सहित स्रोत कोड के बारे में जानकारी संग्रहीत करने के लिए एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस का उपयोग करता है।[29] हालाँकि, विजुअलसी++ 2010 सी++/सीLI के लिए Intellisense का समर्थन नहीं करता है।[30] यह संस्करण समानांतर पैटर्न लाइब्रेरी नामक एक सी ++ समानांतर कंप्यूटिंग लाइब्रेरी जोड़ता है, सी ++ 11 के लिए आंशिक समर्थन, एडिसन डिजाइन समूह फ्रंट एंड के आधार पर इंटेलिसेन्स में काफी सुधार हुआ है,[31] और संकलक और उत्पन्न कोड दोनों के प्रदर्शन में सुधार।[32] यह संस्करण .एनईटी4.0 पर बनाया गया है, लेकिन मशीन कोड के संकलन का समर्थन करता है। आंशिक सी++11 समर्थन में मुख्य रूप से छह संकलक विशेषताएं सम्मिलितहैं:[33] लैम्ब्डा, प्रतिद्वंद्विता संदर्भ, ऑटो, deसीltype, statiसी_assert, और nullptr। सी++11 पुस्तकालय सुविधाओं का भी समर्थन करता है (उदाहरण के लिए, TR1 घटकों को std::tr1 नामस्थान से सीधे std नाम स्थान पर ले जाना)। वैराडिक टेम्पलेट पर भी विचार किया गया था, लेकिन कम प्राथमिकता होने के कारण कुछ भविष्य के संस्करण तक देरी हुई, जो इस तथ्य से उपजी है कि, अन्य महंगी-से-कार्यान्वयन सुविधाओं (लैम्ब्डा, रावल्यू संदर्भ) के विपरीत, वैरैडिक टेम्प्लेट केवल पुस्तकालय के एक अल्पसंख्यक को लाभान्वित करेंगे। अधिकांश संकलक अंत उपयोगकर्ताओं के बजाय लेखक।[34] डिफ़ॉल्ट रूप से, विजुअलसी++ 2010 रनटाइम के विरुद्ध संकलित सभी एप्लिकेशन केवल विंडोज़XP SP2 और बाद के संस्करण पर काम करते हैं। RTM संस्करण (16.00.30319) माइक्रोसॉफ्टविंडोज़SDK|विंडोज़SDK for विंडोज़7 और .एनईटीFramework 4 (WinSDK v7.1) में भी उपलब्ध है।[35] SP1 संस्करण (16.00.40219) विजुअलStudio 2010 सर्विस पैक 1 के हिस्से के रूप में या विंडोज़SDK 7.1 के लिए माइक्रोसॉफ्टविजुअलसी++ 2010 सर्विस पैक 1 कंपाइलर अद्यतनके माध्यम से उपलब्ध है।[36]
- विज़ुअल सी++ 2012 (विज़ुअल सी++ 11.0 के रूप में भी जाना जाता है) 15 अगस्त, 2012 को जारी किया गया था। इसमें उन्नत सी++11 समर्थन और विंडोज रनटाइम विकास के लिए समर्थन सम्मिलितहै।[37]
- विजुअल सी++ 2013 (जिसे विजुअल सी++ 12.0 के रूप में भी जाना जाता है) 17 अक्टूबर, 2013 को जारी किया गया था। इसमें आगे सी++11 और सी99 समर्थन की सुविधा है, और एक प्रतिनिधि राज्य हस्तांतरण एसडीके पेश करता है।[38]
- विजुअल सी++ 2015 (जिसे विजुअल सी++ 14.0 के नाम से भी जाना जाता है) 20 जुलाई, 2015 को जारी किया गया था।[39] इसमें बेहतर सी++ 11/14/17 सपोर्ट है।[40] माइक्रोसॉफ्ट से किसी भी घोषणा के बिना, विजुअल स्टूडियो 2015 अद्यतन2 ने संकलित बायनेरिज़ में टेलीमेट्री कॉल उत्पन्न करना शुरू कर दिया। कुछ उपयोगकर्ताओं द्वारा इस समस्या के बारे में माइक्रोसॉफ्टसे संपर्क करने के बाद, माइक्रोसॉफ्टने कहा कि वे भविष्य के विजुअलStudio 2015 अद्यतन 3 के साथ संकलन करते समय इन टेलीमेट्री कॉलों को हटा देंगे।[41][42] विज़ुअल स्टूडियो 2015 अद्यतन3 में विज़ुअल सी ++ सीआरटी स्थिर पुस्तकालयों से विचाराधीन फ़ंक्शन को हटा दिया गया था।[citation needed]
- विज़ुअल सी++ 2017 (विज़ुअल सी++ 14.1 के रूप में भी जाना जाता है) 7 मार्च, 2017 को जारी किया गया था।[43]
- विजुअल सी++ 2019 (जिसे विजुअल सी++ 14.20 के नाम से भी जाना जाता है) 2 अप्रैल, 2019 को जारी किया गया था।[44]
- विजुअल सी++ 2022 (जिसे विजुअल सी++ 14.30 के नाम से भी जाना जाता है) 8 नवंबर, 2021 को जारी किया गया था।[45]
आंतरिक संस्करण क्रमांकन
पूर्वनिर्धारित मैक्रो _MSसी_VER
विज़ुअल सी++ कंपाइलर के प्रमुख और लघु संस्करण संख्याओं को इंगित करता है। मैक्रो का मान एक पूर्णांक शाब्दिक है जिसमें अंतिम दो अंक लघु संस्करण संख्या को इंगित करते हैं और पूर्ववर्ती अंक प्रमुख संस्करण संख्या को इंगित करते हैं।
विजुअल स्टूडियो 2017 से शुरुआत करते हुए, _MSसी_VER
हर विज़ुअल सी++ टूलसेट अद्यतनपर नीरस रूप से वृद्धि की जाती है।[46] इस प्रकार, उदाहरण के लिए, MSVसी संस्करण 14.11 जो विजुअलStudio 2017 संस्करण 15.3 सेट के साथ आता है _MSसी_VER
को 1911
. माइक्रोसॉफ्टउपयोग करने की अनुशंसा करता है >=
ऑपरेटर के मूल्य का परीक्षण करने के लिए _MSसी_VER
.
माइक्रोसॉफ्ट विज़ुअल सी और सी ++ कंपाइलर्स के प्रत्येक संस्करण से जुड़े एमएसवीसी संस्करणों की एक तालिका निम्नलिखित है।
MSसी version | _MSसी_VER |
---|---|
1.0 | 100 |
2.0 | 200 |
3.0 | 300 |
4.0 | 400 |
5.0 | 500 |
6.0 | 600 |
7.0 | 700 |
MSVसी++ version | _MSसी_VER |
---|---|
1.0 | 800 |
2.0 | 900 |
4.0 | 1000 (4.0) |
4.2 | 1020 (4.2) |
5.0 | 1100 (विजुअलStudio 5.0) |
6.0 | 1200 (विजुअलStudio 6.0) |
7.0 | 1300 (विजुअलStudio 2002 7.0) |
7.1 | 1310 (विजुअलStudio 2003 7.1) |
8.0 | 1400 (विजुअलStudio 2005 8.0) |
9.0 | 1500 (विजुअलStudio 2008 9.0) |
10.0 | 1600 (विजुअलStudio 2010 10.0) |
11.0 | 1700 (विजुअलStudio 2012 11.0) |
12.0 | 1800 (विजुअलStudio 2013 12.0) |
14.0 | 1900 (विजुअलStudio 2015 14.0) |
विजुअलStudio 2017 | |
14.1 | 1910 (versions 15.0 + 15.1 + 15.2) |
14.11 | 1911 (version 15.3) |
14.12 | 1912 (version 15.5) |
14.13 | 1913 (Version 15.6) |
14.14 | 1914 (version 15.7) |
14.15 | 1915 (version 15.8) |
14.16 | 1916 (version 15.9) |
विजुअलStudio 2019 | |
14.20 | 1920 (version 16.0) |
14.21 | 1921 (version 16.1) |
14.22 | 1922 (version 16.2) |
14.23 | 1923 (version 16.3) |
14.24 | 1924 (version 16.4) |
14.25 | 1925 (version 16.5) |
14.26 | 1926 (version 16.6) |
14.27 | 1927 (version 16.7) |
14.28 | 1928 (versions 16.8 + 16.9) |
14.29 | 1929 (versions 16.10 + 16.11) |
विजुअलStudio 2022 | |
14.30 | 1930 (version 17.0) |
14.31 | 1931 (version 17.1) |
14.32 | 1932 (version 17.2) |
14.33 | 1933 (version 17.3) |
14.34 | 1934 (version 17.4) |
ये संस्करण संख्याएँ विजुअल सी++ कम्पाइलरों और पुस्तकालयों की प्रमुख संस्करण संख्या को संदर्भित करती हैं, जैसा कि संस्थापन निर्देशिकाओं से देखा जा सकता है। यह विजुअल स्टूडियो रिलीज के नाम पर वर्ष का उल्लेख नहीं करता है। विस्तृत सूची उपलब्ध है।[47][48]
ध्यान दें कि सी ++ कंपाइलर निष्पादन योग्य संस्करण मेल खाता है _MSC_VER
और समग्र रूप से विज़ुअल सी++ उत्पाद के संस्करण से भिन्न है। उदाहरण के लिए 14.22 (विजुअल स्टूडियो 2019 16.2.5) में सम्मिलितसीl.exe इसके संस्करण को 19.22.27905 के रूप में रिपोर्ट करता है यदि बिना तर्क के चलाया जाता है।
वहाँ भी है एक _MSC_FULL_VER
बिल्ड नंबर के बारे में अतिरिक्त जानकारी के लिए 1200 से परिभाषित मूल्य।
अनुकूलता
एबीआई
विज़ुअल सी++ कंपाइलर अनुप्रयोग बाइनरी इंटरफ़ेस प्रमुख कंपाइलर रिलीज़ के बीच ऐतिहासिक रूप से बदल गया है।[49] यह विशेष रूप से एसटीएल कंटेनरों के मामले में है, जहां कंपाइलर रिलीज के बीच कंटेनर आकार बहुत भिन्न होते हैं।[50] इसलिए माइक्रोसॉफ्ट मॉड्यूल सीमाओं पर सी ++ इंटरफेस का उपयोग करने के खिलाफ अनुशंसा करता है जब कोई भिन्न कंपाइलर संस्करण का उपयोग करके संकलित क्लाइंट कोड को सक्षम करना चाहता है। सी++ के बजाय, माइक्रोसॉफ्टसी (प्रोग्रामिंग भाषा) का उपयोग करने की अनुशंसा करता है[51] या घटक वस्तु मॉडल[52] इंटरफेस, जिन्हें कंपाइलर रिलीज के बीच स्थिर एबीआई रखने के लिए डिज़ाइन किया गया है।
सभी 14.x MSVसी रिलीज़ में एक स्थिर ABI है,[53] और इन संस्करणों के साथ निर्मित बायनेरिज़ को आगे-संगत तरीके से मिश्रित किया जा सकता है, निम्नलिखित प्रतिबंधों को ध्यान में रखते हुए:
- उपयोग किया जाने वाला टूलसेट संस्करण किसी भी लिंक्ड बायनेरिज़ को बनाने के लिए उपयोग किए जाने वाले उच्चतम टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
- एमएसवीसी पुनर्वितरण योग्य संस्करण किसी भी एप्लिकेशन घटक द्वारा उपयोग किए जाने वाले टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
- /GL (संपूर्ण प्रोग्राम ऑप्टिमाइज़ेशन) के साथ संकलित स्टेटिक लाइब्रेरी या ऑब्जेक्ट फ़ाइलें संस्करणों के बीच बाइनरी संगत नहीं हैं और ठीक उसी टूलसेट का उपयोग करना चाहिए।
सी रनटाइम लाइब्रेरी
विज़ुअल सी++ सी रनटाइम लाइब्रेरी के विभिन्न संस्करणों के साथ आता है।[54] इसका अर्थ है कि उपयोगकर्ता अपने कोड को किसी भी उपलब्ध लाइब्रेरी के साथ संकलित कर सकते हैं। हालांकि, एक ही प्रोग्राम में विभिन्न घटकों (डायनामिक-लिंक लाइब्रेरी, EXEs) का उपयोग करते समय यह कुछ समस्याएं पैदा कर सकता है। एक विशिष्ट उदाहरण विभिन्न लाइब्रेरी (कंप्यूटिंग) का उपयोग करने वाला एक प्रोग्राम है। उपयोगकर्ता को प्रोग्राम के सभी घटकों के लिए समान सी मानक लाइब्रेरी|सी रन-टाइम का उपयोग करना चाहिए जब तक कि निहितार्थ समझ में न आए। माइक्रोसॉफ्टसंभावित समस्याओं से बचने के लिए थ्रेड (कंप्यूटर साइंस), डायनेमिक लिंक लाइब्रेरी (/MD या/MDd कंपाइलर विकल्प) का उपयोग करने की अनुशंसा करता है।[54]
पॉज़िक्स
हालाँकि माइक्रोसॉफ्टका सीRT POSIX इंटरफेस के एक बड़े उपसमुच्चय को लागू करता है, विजुअल सी++ कंपाइलर डिफ़ॉल्ट रूप से ऐसे कार्यों के हर उपयोग पर एक चेतावनी देगा। तर्क यह है कि सी और सी ++ मानकों को कार्यान्वयन-परिभाषित इंटरफेस से पहले एक अंडरस्कोर उपसर्ग की आवश्यकता होती है, इसलिए इन कार्यों का उपयोग गैर-मानक है।[55] हालाँकि, सिस्टम जो वास्तव में POSIX- संगत हैं, वे इन रेखांकित नामों को स्वीकार नहीं करेंगे, और इसके बजाय केवल चेतावनी को बंद करना अधिक पोर्टेबल है।
सी
यद्यपि उत्पाद सी (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा के लिए एक आईडीई के रूप में उत्पन्न हुआ, कई वर्षों तक उस भाषा के लिए संकलक का समर्थन केवल एएनएसआई सी के मूल संस्करण के अनुरूप था, जो 1989 से डेटिंग कर रहा था, लेकिन मानक का सी 99 संशोधन नहीं था। इसके प्रकाशन के एक दशक से भी अधिक समय बाद, 2011 में भी सी99 का समर्थन करने की कोई योजना नहीं थी।[56]
विजुअल सी++ 2013 ने अंततः अपने सी मोड में विभिन्न सी99 विशेषताओं के लिए समर्थन जोड़ा (नामित इनिशियलाइज़र्स, कंपाउंड लिटरल और _Bool
प्रकार),[57] हालांकि यह अभी भी पूरा नहीं हुआ था।[58] विज़ुअल सी++ 2015 ने सी99 मानक लाइब्रेरी के पूर्ण समर्थन के साथ सी99 समर्थन में और सुधार किया, उन विशेषताओं को छोड़कर जिनके लिए सी99 भाषा सुविधाओं की आवश्यकता होती है जो अभी तक संकलक द्वारा समर्थित नहीं हैं।[59]
मानक के सी11 (सी मानक संशोधन) संशोधन से अधिकांश परिवर्तन अभी भी विजुअलसी++ 2017 द्वारा समर्थित नहीं हैं।[60] उदाहरण के लिए, के माध्यम से सामान्य चयन _Generiसी
कीवर्ड कंपाइलर द्वारा समर्थित नहीं हैं और परिणामस्वरूप सिंटैक्स त्रुटि होती है।[61]
प्रीप्रोसेसर को 2018 में सी11 के साथ ओवरहाल किया गया था:[62]
Full C11 conformance is on our roadmap, and updating the preprocessor is just the first step in that process. The C11
_Generic
feature is not actually part of the preprocessor, so it has not yet been implemented. When implemented I expect the feature to work independently of if the traditional or updated preprocessor logic is used.
_Generiसी
फरवरी 2020 तक MSVसी को समर्थन देने के लिए प्रतिबद्ध है, यह स्पष्ट नहीं है कि यह कब शिप होगा।[63]
सितंबर 2020 में, माइक्रोसॉफ्टने MSVसी में सी11 और सी17 मानकों के समर्थन की घोषणा की।[64]
सी ++
डिफ़ॉल्ट सेटिंग्स के साथ MSVसी दो-चरण नाम लुकअप नहीं करता है जो इसे अमान्य कोड की एक विस्तृत श्रृंखला को फ़्लैग करने से रोकता है। अधिकांश चेक टेम्प्लेट इन्स्टेन्शियशन के लिए स्थगित कर दिए जाते हैं। अधिक हाल के संस्करण इस व्यवहार को ठीक करते हैं, लेकिन इसे कमांड-लाइन विकल्प द्वारा सक्षम करने की आवश्यकता है /permissive-
.[65]
संदर्भ
- ↑ 1.0 1.1 "Visual C++ adds Windows support". InfoWorld. February 22, 1993. p. 17.
- ↑ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
- ↑ "Do I need these Microsoft Visual C++ redistributables?". Ask Leo!. Retrieved 2012-11-18.
- ↑ Computer Language - Issue 06 (1985-02)(CL Publications)(US). February 1985.
- ↑ Leibson, Steve (1985-02-01). "Software Reviews: Expert team analyzes 21 C compilers". Computer Language. Retrieved 2020-06-05.
- ↑ Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0".
- ↑ Retrieved from http://support.microsoft.com/kb/196831.
- ↑ 8.0 8.1 "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94.
- ↑ "Rival DOS Extenders debut at show". InfoWorld. March 1, 1993. p. 18.
- ↑ "Visual C++ 1.5 integrates OLE, ODBC". InfoWorld. November 8, 1993. p. 5.
- ↑ "Microsoft set to prerelease 32-bit Visual C++". InfoWorld. July 19, 1993. p. 12.
- ↑ "C++ IDEs evolve". InfoWorld. April 4, 1994. p. 79.
- ↑ "Microsoft Visual C++ Strategy".
- ↑ 14.0 14.1 "Obsolete Products". Archived from the original on 2005-08-14.
- ↑ "History of Visual Studio (Part 3)".
- ↑ "Major Changes from Visual C++ 4.0 to 4.2". Archived from the original on 2010-02-28. Retrieved 2018-04-18.
- ↑ "Major Changes from Visual C++ 4.2 to 5.0".
- ↑ "Microsoft Visual C++ 5.0 Learning Edition". Archived from the original on April 27, 1999.
- ↑ "Microsoft Visual C++ 5.0 Professional Edition". Archived from the original on April 27, 1999.
- ↑ "Microsoft Visual C++ 5.0 Enterprise Edition". Archived from the original on April 17, 1999.
- ↑ "Microsoft Visual C++ 5.0 RISC Edition". Archived from the original on April 29, 1999.
- ↑ Shields, Nathan P. (June 8, 2018). "Criminal Complaint". United States Department of Justice. p. 128.
This alone is not a dispositive link, as Visual C++ 6.0, released in 1998, still has proponents mostly because it does not require the installation of Microsoft's .NET framework in order to run, as later versions of Visual C++ do.
- ↑ "Major Changes from Visual C++ 5.0 to 6.0". Archived from the original on September 14, 2008.
- ↑ This page stresses that Users must also be running Windows 98, Windows NT 4.0, or Windows 2000. Retrieved from http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx.
- ↑ How to: Modify WINVER and _WIN32_WINNT
- ↑ Breaking Changes
- ↑ Windows Platforms (CRT)
- ↑ "Visual C++ 2008 Breaking Changes".
- ↑ Visual C++ Team Blog. "IntelliSense, part 2: The Future". Retrieved March 12, 2008.
- ↑ "Why IntelliSense is not supported for C++/CLI in Visual Studio 2010". Retrieved March 13, 2011.
- ↑ Visual C++ Team Blog (27 May 2009). "Rebuilding Intellisense".
- ↑ Visual C++ Team Blog. "Visual C++ Code Generation in Visual Studio 2010".
- ↑ "C++0x Core Language Features In VC10: The Table".
- ↑ "Stephan T. Lavavej: Everything you ever wanted to know about nullptr".
- ↑ Microsoft Windows SDK Blog. "Released: Windows SDK for Windows 7 and .NET Framework 4".
- ↑ FIX: Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed
- ↑ "What's New for Visual C++ in Visual Studio 2012". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
- ↑ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
- ↑ Eric Battalio (July 20, 2015). "Visual Studio 2015 RTM Now Available". Visual C++ Team Blog. Microsoft.
- ↑ Stephan T. Lavavej (June 19, 2015). "C++11/14/17 Features In VS 2015 RTM". Visual C++ Team Blog. Microsoft.
- ↑ Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries
- ↑ "Visual Studio adding telemetry function calls to binary? • /r/cpp". reddit. 7 May 2016. Retrieved 2016-08-17.
- ↑ Julia Liuson (March 7, 2017). "Announcing Visual Studio 2017 General Availability… and more". Visual Studio Team Blog. Microsoft.
- ↑ Amanda Silver (February 14, 2019). "Join us April 2nd for the Launch of Visual Studio 2019!". Visual Studio Team Blog. Microsoft.
- ↑ Amanda Silver (November 8, 2021). "Visual Studio 2022 now available". Visual Studio Team Blog. Microsoft.
- ↑ Reis, Gabriel Dos (October 5, 2016). "Visual C++ Compiler Version". C++ Team Blog (in English). Retrieved August 20, 2022.
- ↑ "Pre-defined Compiler Macros / Wiki / Compilers". sourceforge.net. Retrieved 2016-02-11.
- ↑ "Predefined macros". docs.microsoft.com. Retrieved 2021-12-06.
- ↑ Microsoft MSDN: Breaking Changes in Visual C++
- ↑ Microsoft MSDN: Containers (Modern C++)
- ↑ Microsoft MSDN: Portability At ABI Boundaries (Modern C++)
- ↑ Microsoft forum: Binary compatibility across Visual C++ versions Archived 2013-02-16 at archive.today
- ↑ docs.microsoft.com: C++ binary compatibility between Visual Studio 2015, 2017, and 2019
- ↑ 54.0 54.1 C Run-Time Libraries
- ↑ "Compatibility". Microsoft: CRT library features (in English).
- ↑ "C99 support". Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
- ↑ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft.
- ↑ Pat Brenner (July 19, 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft.
- ↑ "What's New for Visual C++ in Visual Studio 2015". Microsoft Developer Network. Microsoft.
- ↑ "Walkthrough: Compile a C program on the command line". Visual C++ Documentation. Microsoft.
- ↑ "MSVC 2017 does not support _Generic (type generic macros) in C".
- ↑ Luvsanbat, Bat-Ulzii (July 6, 2018). "MSVC Preprocessor Progress towards Conformance". Microsoft Developer Network. Archived from the original on 8 Jan 2019.
- ↑ "C++20 Features and Fixes". reddit. July 3, 2020.
- ↑ "C11 and C17 Standard Support Arriving in MSVC". September 14, 2020.
- ↑ "Two-phase name lookup support comes to MSVC". 2017-09-11.
अग्रिम पठन
- Johnson, Brian (8 August 2004). "Building Win32 Applications Using Visual C++ 2005 Express". Brian Johnson's Startup Developer Blog. Microsoft – via Microsoft Docs Archive.
- Springfield, Jim (25 September 2015). "Rejuvenating the Microsoft C/C++ Compiler". C++ Team Blog. Microsoft.