माइक्रोसॉफ्ट विजुअल सी ++

From Vigyanwiki
Revision as of 09:12, 20 February 2023 by alpha>VikasVerma
Visual C++
Developer(s)Microsoft
Initial releaseFebruary 1993; 31 years ago (1993-02)[1]
Stable release
14.32.31326 / May 10, 2022
Written inC++[2]
Operating systemWindows
PlatformIA-32, x86-64 and ARM
Available inEnglish, Chinese (Simplified & Traditional), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazilian), Russian, Spanish, Turkish
TypeCompiler
LicenseTrialware and freeware
Websitedocs.microsoft.com/en-us/cpp/

माइक्रोसॉफ्ट विजुअल सी ++ (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 में जोड़े गए उपकरणों से युक्त एक विकास परिवेश को प्रतिस्थापित किया। अंतः स्थापित विजुअल सी++ को माइक्रोसॉफ्ट विजुअल प्रसारण-कक्ष 2005 के द्वारा एक अलग विकास परिवेश के रूप में प्रतिस्थापित किया गया था।

32-बिट और 64-बिट संस्करण

  • विज़ुअल सी++ 2005 (विज़ुअल सी++ 8.0 के रूप में भी जाना जाता है), जिसमें एमएफसी 8.0 सम्मिलित था, नवंबर 2005 में जारी किया गया था। यह संस्करण .एनईटी 2.0 का समर्थन करता है और इसमें पिछले संस्करण (प्रबंधित सी++) को बदलने के उद्देश्य से .एनईटी संरचना (सी++/सीएलआई) को लक्षित सी++ का एक नया संस्करण सम्मिलित है। पिछले संस्करण (व्यवस्थित सी ++) को बदलने का। सीएलआई के लिए व्यवस्थित सी ++ अभी भी अनुभाषक विकल्पों के माध्यम से उपलब्ध है। इसने ओपनएमपी भी प्रस्तावित किया। विजुअल सी++ 2005 के साथ, माइक्रोसॉफ्ट ने समूह आधार सर्वर भी प्रस्तावित किया। विजुअल सी++ 8.0 में एमएफसी ऐप विज़ार्ड उपायो को संकलित करने में समस्याएँ हैं जो विजुअल प्रसारण-कक्ष 6.0 का उपयोग करके बनाए गए थे, इसलिए यदि पुनर्लेखन संभव नहीं है तो रिक्थ उपायो का रखरखाव मूल आईडीई के साथ जारी रखा जा सकता है। विज़ुअल सी++ 2005 विंडोज 98 और विंडोज़ एमई को लक्षित करने में सक्षम अंतिम संस्करण है।[25][26] एसपी1 संस्करण (14.00.50727.762) माइक्रोसॉफ्ट विंडोज़ एसडीके अद्यतन में भी उपलब्ध है।
  • विजुअल सी++ 2008 (जिसे विजुअल सी++ 9.0 के नाम से भी जाना जाता है) नवंबर 2007 में जारी किया गया था। यह संस्करण .एनईटी 3.5 का समर्थन करता है। सीएलई के लिए व्यवस्थित सी++ अभी भी अनुभाषक विकल्पों के माध्यम से उपलब्ध है। स्वतः निर्धारित रूप से, विज़ुअल सी++ 2008 क्रम (स्थैतिक और गतिशील लिंकिंग) के विरुद्ध संकलित सभी अनुप्रयोग केवल विंडोज़ 2000, विंडोज़ एक्सपी एसपी2 और बाद के संस्करण पर काम करेंगे।[27][28] वीसी9 के लिए एक आकृति संकुल जारी किया गया, जिसे बाद में एसपी1 में सम्मिलित किया गया, सी++ टीआर1 लाइब्रेरी विस्तृति के लिए समर्थन जोड़ा गया। एसपी1 संस्करण (15.00.30729.01) विंडोज 7 के लिए माइक्रोसॉफ्ट विंडोज एसडीके में भी उपलब्ध है।
  • विज़ुअल सी++ के कुछ संस्करणों ने आइटेनीयम 2 का समर्थन किया।
  • विजुअल सी++ 2010 (जिसे विजुअल सी++ 10.0 के रूप में भी जाना जाता है) 12 अप्रैल, 2010 को जारी किया गया था। यह बेहतर खुफियाज्ञान और संग्रह-पूर्ण समर्थन के लिए खुफियाज्ञान की जानकारी सहित स्रोत संग्रह के बारे में जानकारी संग्रहीत करने के लिए एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस का उपयोग करता है।[29] हालाँकि, विजुअल सी++ 2010 सी++/सीएलआई के लिए खुफियाज्ञान का समर्थन नहीं करता है।[30] यह संस्करण समानांतर प्रतिरूप लाइब्रेरी नामक एक सी ++ समानांतर कंप्यूटिंग लाइब्रेरी जोड़ता है, सी ++ 11 के लिए आंशिक समर्थन, एडिसन प्रारुप समूह अग्रांत के आधार पर खुफियाज्ञान में काफी सुधार हुआ है,[31] और अनुभाषक और उत्पन्न संग्रह दोनों के प्रदर्शन में सुधार।[32] यह संस्करण .एनईटी 4.0 पर बनाया गया है, लेकिन मशीन संग्रह के अनुभाषक का समर्थन करता है। आंशिक सी++11 समर्थन में मुख्य रूप से छह अनुभाषक विशेषताएं सम्मिलित हैं:[33] लैम्ब्डा, प्रतिद्वंद्विता संदर्भ, स्वत:, उतार-चढ़ाव, स्टेटिक_एसर्ट, और nullptr। सी++11 लाइब्रेरी सुविधाओं का भी समर्थन करता है (उदाहरण के लिए, TR1 घटकों को std::tr1 नाम स्थान से सीधे std नाम स्थान पर ले जाना)। परिवर्तन सांचा पर भी विचार किया गया था, लेकिन कम प्राथमिकता होने के कारण कुछ भविष्य के संस्करण तक देरी हुई, जो इस तथ्य का मूल रूप है कि, अन्य महंगी-से-कार्यान्वित सुविधाओं (लैम्ब्डा, रावल्यू संदर्भ) के विपरीत, बहुसंख्यक अनुभाषक अन्तिम उपयोगकर्ताओं के बजाय परिवर्तन सांचा केवल लाइब्रेरी लेखकों के अल्पसंख्यक को लाभान्वित करेंगे। अधिकांश संकलक अंत उपयोगकर्ताओं के बजाय लेखक।[34] अप्राप्ति रूप से, विजुअल सी++ 2010 क्रम के विरुद्ध संकलित सभी अनुप्रयोग केवल विंडोज़ एक्सपी एसपी2 और बाद के संस्करण पर काम करते हैं। आरटीएम संस्करण (16.00.30319) विंडोज़ 7 और .एनईटी संरचना4 (Winएसडीके v7.1) के लिए विंडोज एसडीके में भी उपलब्ध है।[35] एसपी1 संस्करण (16.00.40219) विजुअल प्रसारण-कक्ष 2010 जाँच संकुल 1 के हिस्से के रूप में या विंडोज़ एसडीके 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 ने संकलित बायनेरिज़ में टेलीमेट्री कॉल उत्पन्न करना शुरू कर दिया। कुछ उपयोगकर्ताओं द्वारा इस समस्या के बारे में माइक्रोसॉफ्टसे संपर्क करने के बाद, माइक्रोसॉफ्टने कहा कि वे भविष्य के विजुअलप्रसारण-कक्ष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 जो विजुअलप्रसारण-कक्ष2017 संस्करण 15.3 सेट के साथ आता है _MSसी_VER को 1911. माइक्रोसॉफ्टउपयोग करने की अनुशंसा करता है >= ऑपरेटर के मूल्य का परीक्षण करने के लिए _MSसी_VER.

माइक्रोसॉफ्ट विज़ुअल सी और सी ++ कंपाइलर्स के प्रत्येक संस्करण से जुड़े एमएसवीसी संस्करणों की एक तालिका निम्नलिखित है।

MSसी versions
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सी++ versions
MSVसी++ version _MSसी_VER
1.0 800
2.0 900
4.0 1000 (4.0)
4.2 1020 (4.2)
5.0 1100 (विजुअलप्रसारण-कक्ष5.0)
6.0 1200 (विजुअलप्रसारण-कक्ष6.0)
7.0 1300 (विजुअलप्रसारण-कक्ष2002 7.0)
7.1 1310 (विजुअलप्रसारण-कक्ष2003 7.1)
8.0 1400 (विजुअलप्रसारण-कक्ष2005 8.0)
9.0 1500 (विजुअलप्रसारण-कक्ष2008 9.0)
10.0 1600 (विजुअलप्रसारण-कक्ष2010 10.0)
11.0 1700 (विजुअलप्रसारण-कक्ष2012 11.0)
12.0 1800 (विजुअलप्रसारण-कक्ष2013 12.0)
14.0 1900 (विजुअलप्रसारण-कक्ष2015 14.0)
विजुअलप्रसारण-कक्ष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)
विजुअलप्रसारण-कक्ष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)
विजुअलप्रसारण-कक्ष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. 1.0 1.1 "Visual C++ adds Windows support". InfoWorld. February 22, 1993. p. 17.
  2. Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
  3. "Do I need these Microsoft Visual C++ redistributables?". Ask Leo!. Retrieved 2012-11-18.
  4. Computer Language - Issue 06 (1985-02)(CL Publications)(US). February 1985.
  5. Leibson, Steve (1985-02-01). "Software Reviews: Expert team analyzes 21 C compilers". Computer Language. Retrieved 2020-06-05.
  6. Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0".
  7. Retrieved from http://support.microsoft.com/kb/196831.
  8. 8.0 8.1 "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94.
  9. "Rival DOS Extenders debut at show". InfoWorld. March 1, 1993. p. 18.
  10. "Visual C++ 1.5 integrates OLE, ODBC". InfoWorld. November 8, 1993. p. 5.
  11. "Microsoft set to prerelease 32-bit Visual C++". InfoWorld. July 19, 1993. p. 12.
  12. "C++ IDEs evolve". InfoWorld. April 4, 1994. p. 79.
  13. "Microsoft Visual C++ Strategy".
  14. 14.0 14.1 "Obsolete Products". Archived from the original on 2005-08-14.
  15. "History of Visual Studio (Part 3)".
  16. "Major Changes from Visual C++ 4.0 to 4.2". Archived from the original on 2010-02-28. Retrieved 2018-04-18.
  17. "Major Changes from Visual C++ 4.2 to 5.0".
  18. "Microsoft Visual C++ 5.0 Learning Edition". Archived from the original on April 27, 1999.
  19. "Microsoft Visual C++ 5.0 Professional Edition". Archived from the original on April 27, 1999.
  20. "Microsoft Visual C++ 5.0 Enterprise Edition". Archived from the original on April 17, 1999.
  21. "Microsoft Visual C++ 5.0 RISC Edition". Archived from the original on April 29, 1999.
  22. 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.
  23. "Major Changes from Visual C++ 5.0 to 6.0". Archived from the original on September 14, 2008.
  24. 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.
  25. How to: Modify WINVER and _WIN32_WINNT
  26. Breaking Changes
  27. Windows Platforms (CRT)
  28. "Visual C++ 2008 Breaking Changes".
  29. Visual C++ Team Blog. "IntelliSense, part 2: The Future". Retrieved March 12, 2008.
  30. "Why IntelliSense is not supported for C++/CLI in Visual Studio 2010". Retrieved March 13, 2011.
  31. Visual C++ Team Blog (27 May 2009). "Rebuilding Intellisense".
  32. Visual C++ Team Blog. "Visual C++ Code Generation in Visual Studio 2010".
  33. "C++0x Core Language Features In VC10: The Table".
  34. "Stephan T. Lavavej: Everything you ever wanted to know about nullptr".
  35. Microsoft Windows SDK Blog. "Released: Windows SDK for Windows 7 and .NET Framework 4".
  36. 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
  37. "What's New for Visual C++ in Visual Studio 2012". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
  38. "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
  39. Eric Battalio (July 20, 2015). "Visual Studio 2015 RTM Now Available". Visual C++ Team Blog. Microsoft.
  40. Stephan T. Lavavej (June 19, 2015). "C++11/14/17 Features In VS 2015 RTM". Visual C++ Team Blog. Microsoft.
  41. Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries
  42. "Visual Studio adding telemetry function calls to binary? • /r/cpp". reddit. 7 May 2016. Retrieved 2016-08-17.
  43. Julia Liuson (March 7, 2017). "Announcing Visual Studio 2017 General Availability… and more". Visual Studio Team Blog. Microsoft.
  44. Amanda Silver (February 14, 2019). "Join us April 2nd for the Launch of Visual Studio 2019!". Visual Studio Team Blog. Microsoft.
  45. Amanda Silver (November 8, 2021). "Visual Studio 2022 now available". Visual Studio Team Blog. Microsoft.
  46. Reis, Gabriel Dos (October 5, 2016). "Visual C++ Compiler Version". C++ Team Blog (in English). Retrieved August 20, 2022.
  47. "Pre-defined Compiler Macros / Wiki / Compilers". sourceforge.net. Retrieved 2016-02-11.
  48. "Predefined macros". docs.microsoft.com. Retrieved 2021-12-06.
  49. Microsoft MSDN: Breaking Changes in Visual C++
  50. Microsoft MSDN: Containers (Modern C++)
  51. Microsoft MSDN: Portability At ABI Boundaries (Modern C++)
  52. Microsoft forum: Binary compatibility across Visual C++ versions Archived 2013-02-16 at archive.today
  53. docs.microsoft.com: C++ binary compatibility between Visual Studio 2015, 2017, and 2019
  54. 54.0 54.1 C Run-Time Libraries
  55. "Compatibility". Microsoft: CRT library features (in English).
  56. "C99 support". Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
  57. "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft.
  58. Pat Brenner (July 19, 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft.
  59. "What's New for Visual C++ in Visual Studio 2015". Microsoft Developer Network. Microsoft.
  60. "Walkthrough: Compile a C program on the command line". Visual C++ Documentation. Microsoft.
  61. "MSVC 2017 does not support _Generic (type generic macros) in C".
  62. Luvsanbat, Bat-Ulzii (July 6, 2018). "MSVC Preprocessor Progress towards Conformance". Microsoft Developer Network. Archived from the original on 8 Jan 2019.
  63. "C++20 Features and Fixes". reddit. July 3, 2020.
  64. "C11 and C17 Standard Support Arriving in MSVC". September 14, 2020.
  65. "Two-phase name lookup support comes to MSVC". 2017-09-11.


अग्रिम पठन


बाहरी संबंध