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

From Vigyanwiki
No edit summary
Line 4: Line 4:
| logo = Visual_Studio_Icon_2022.svg
| logo = Visual_Studio_Icon_2022.svg
| developer = माइक्रोसॉफ्ट
| developer = माइक्रोसॉफ्ट
| released = {{Start date and age|1993|02}}<ref name="Visual C++ adds Windows support">{{cite news |title = Visual C++ adds Windows support |newspaper = InfoWorld |date = February 22, 1993 |page = 17 |url = https://books.google.com/books?id=vjsEAAAAMBAJ }}</ref>
| released = फरवरी 1993; 30 साल पहले [1]
| latest release version = 14.32.31326
| latest release version = 14.32.31326
| latest release date = मई 10, 2022
| latest release date = 10मई , 2022
| programming language = [[C++]]<ref>{{cite web|url=http://www.lextrait.com/Vincent/implementations.html |title=The Programming Languages Beacon, v10.0 |first=Vincent |last=Lextrait |date=January 2010 |access-date=14 March 2010 |url-status=dead |archive-url=https://archive.today/20120530/http://www.lextrait.com/Vincent/implementations.html |archive-date=30 May 2012 }}</ref>
| programming language = [[C++]]<ref>{{cite web|url=http://www.lextrait.com/Vincent/implementations.html |title=The Programming Languages Beacon, v10.0 |first=Vincent |last=Lextrait |date=January 2010 |access-date=14 March 2010 |url-status=dead |archive-url=https://archive.today/20120530/http://www.lextrait.com/Vincent/implementations.html |archive-date=30 May 2012 }}</ref>
| operating system = [[विंडोज़]]
| operating system = [[विंडोज़]]
| platform = [[IA-32]], [[x86-64]] and [[ARM architecture|ARM]]
| platform = IA-32, x86-64 and ARM
| language = English, Chinese (Simplified & Traditional), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazilian), Russian, Spanish, Turkish
| language = अंग्रेजी, चीनी (सरलीकृत और पारंपरिक), चेक, फ्रेंच, जर्मन, इतालवी, जापानी, कोरियाई, पोलिश, पुर्तगाली (ब्राजील), रूसी, स्पेनिश, तुर्की
| genre = [[अनुभाषक]]
| genre = [[संकलनकर्ता]]
| license = [[ट्रायलवेयर]] और[[फ्रीवेयर]]
| license = [[ट्रायलवेयर]] और[[फ्रीवेयर]]
| website = {{URL|https://docs.microsoft.com/en-us/cpp/}}
| website = {{URL|https://docs.microsoft.com/en-us/cpp/}}

Revision as of 09:35, 21 February 2023

विजुअल सी ++
Developer(s)माइक्रोसॉफ्ट
Initial releaseफरवरी 1993; 30 साल पहले [1]
Stable release
14.32.31326 / 10मई , 2022
Written inC++[1]
Operating systemविंडोज़
PlatformIA-32, x86-64 and ARM
Available inअंग्रेजी, चीनी (सरलीकृत और पारंपरिक), चेक, फ्रेंच, जर्मन, इतालवी, जापानी, कोरियाई, पोलिश, पुर्तगाली (ब्राजील), रूसी, स्पेनिश, तुर्की
Typeसंकलनकर्ता
Licenseट्रायलवेयर औरफ्रीवेयर
Websitedocs.microsoft.com/en-us/cpp/

माइक्रोसॉफ्ट विजुअल सी ++ (MSVसी) माइक्रोसॉफ्ट द्वारा सी ,सी ++ और सी++/सीएक्स प्रोग्रामिंग भाषाओं के लिए एक अनुभाषक (कंप्यूटर) है। MSVसी स्वामित्व सॉफ्टवेयर है; यह मूल रूप से एक खुद को साबित करने वाला प्रोग्राम का सँयोजन था लेकिन बाद में माइक्रोसॉफ्ट विज़ुअल प्रसार कक्ष का एक हिस्सा बन गया और ट्रायलवेयर, फ्रीवेयर दोनों रूपों में उपलब्ध कराया गया। इसमें सी++ कोड के विकास और डिबगिंग के लिए उपकरण हैं, विशेष रूप से विंडोज़ API, DireसीtX और .एनईटीके लिए लिखे गए कोड।

कई अनुप्रयोगों को ठीक से काम करने के लिए पुनर्वितरण योग्य विज़ुअल सी++ क्रम लाइब्रेरी पैकेज की आवश्यकता होती है। इन पैकेजों को प्रायः उनके द्वारा समर्थित अनुप्रयोगों से अलग स्थापित किया जाता है, जिससे कई अनुप्रयोगों को केवल एक संस्थापन के साथ पैकेज का उपयोग करने में सक्षम बनाया जाता है। ये विज़ुअल सी++ पुनर्वितरण योग्य और क्रम पैकेज ज्यादातर मानक लाइब्रेरी के लिए स्थापित किए जाते हैं जिनका उपयोग कई अनुप्रयोगों के लिए करते हैं।[2]


इतिहास

विजुअल सी ++ के पूर्ववर्ती को माइक्रोसॉफ्ट सी/सी++ कहा जाता था। विंडोज 1.0 के लिए माइक्रोसॉफ्ट क्विक सी 2.5 और माइक्रोसॉफ्ट क्विक सी भी था। विज़ुअल सी++ अनुभाषक     को अभी भी माइक्रोसॉफ्ट सी/सी++ के रूप में जाना जाता है और विज़ुअल सी++ 2015 नवीनीकरण दो के प्रकाशन के अनुसार, संस्करण 14.0.23918.0 पर है।[citation needed]


16-बिट संस्करण

  • माइक्रोसॉफ्ट सी 1.0, जालक सी पर आधारित, 1983 में माइक्रोसॉफ्ट का पहला सी परिणाम था। यह K&R सी के अनुरूप नहीं था।
  • सी 2.0 ने संग्रह अनुभाग और आंकड़े अनुभाग दोनों के लिए 1MiB तक की अनुमति देते हुए बड़े मॉडल समर्थन को संकलित किया। [3]
  • सी 3.0 माइक्रोसॉफ्टके अंदर विकसित पहला संस्करण था।[4] इस संस्करण का उद्देश्य K&R और बाद के ANSI मानक के साथ अनुरूपता थी । यह 1984 की शुरुआत में माइक्रोसॉफ्ट (विंडोज़ और ज़ेनिक्स विकास के लिए) के अंदर उपयोग किया जा रहा था। इसे 1985 में एक परिणाम के रूप में भेज दिया गया था।
  • सी 4.0 ने इष्टतमीकरण और संग्रह व्यू, एक स्रोत-स्तरीय-डीबगर जोड़ा।
  • सी 5.0 ने चक्र इष्टमीकरण और 'विशाल मेमोरी मॉडल' (64 केबी से बड़ा सरणी) समर्थन जोड़ा। माइक्रोसॉफ्ट फोरट्रान और 80386 के लिए पहला 32-बिट अनुभाषक भी इस युक्ति का हिस्सा था।
  • 1988 में जारी सी 5.1 ने OS/2 1.x के लिए संकलन प्रोग्राम की अनुमति दी।
  • सी 6.0 1989 में जारी किया गया। इसमें प्रोग्रामर के कार्यक्षेत्र IDE, सार्वत्रिक प्रवाह विश्लेषण, एक स्रोत ब्राउज़र और एक नया डीबगर जोड़ा गया, और एक वैकल्पिक सी++ फ्रंट सिरा सम्मिलित किया गया।[5]
  • सी/सी++ 7.0 1992 में जारी किया गया था। सी++ और एमएफसी(माइक्रोसॉफ्ट फाउंडेशन     क्लास लाइब्रेरी ) 1.0 के लिए अंतनिर्मित समर्थन जोड़ा गया।[6]
  • विज़ुअल सी++ 1.0, जिसमें एमएफसी2.0 सम्मिलित था, ये फरवरी 1993 में 'विज़ुअल' सी++ का पहला संस्करण जारी किया गया था। यह सीफ्रंट 2.1 के अनुरूप था[7] और दो संस्करणों में उपलब्ध था :[8] * * *मानक: विंडोज के लिए क्विकसी को बदल दिया गया।
    • दक्षतापूर्वक: सी/सी++ 7.0 को बदला गया। डॉस और विंडोज अनुप्रयोगों, एक इष्टतमीकरण अनुभाषक, एक स्रोत प्रोफाइलर और विंडोज 3.1 SDK दोनों को बनाने की क्षमता सम्मिलित है।[7] फार घेरा 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 समर्थन की सुविधा है, और एक REST एसडीके प्रस्तुत करता है।[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]


आंतरिक संस्करण क्रमांकन

पूर्वनिर्धारित मैक्रो_MSC_VER विज़ुअल सी++ अनुभाषक के प्रमुख और लघु संस्करण संख्याओं को इंगित करता है। मैक्रो का मान एक पूर्णांक शाब्दिक है जिसमें अंतिम दो अंक लघु संस्करण संख्या को इंगित करते हैं और पूर्ववर्ती अंक प्रमुख संस्करण संख्या को इंगित करते हैं।

विजुअल प्रसारण-कक्ष 2017 से शुरुआत करते हुए, _MSC_VER हर विज़ुअल सी++ टूलसेट अद्यतन पर मोनोटोनिक रूप से वृद्धि की जाती है।[46] इस प्रकार, उदाहरण के लिए, एमएसवीसी संस्करण 14.11 जो विजुअल प्रसारण-कक्ष 2017 संस्करण 15.3 साथ आता है, _MSC_VER को 1911 पर सेट करता है|माइक्रोसॉफ्ट _MSC_VER के मान का परीक्षण करने के लिए >= प्रचालक का उपयोग करने की सलाह देता है।

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

एमएससी संस्करण
एमएससी संस्करण _MSC_VER
1.0 100
2.0 200
3.0 300
4.0 400
5.0 500
6.0 600
7.0 700
एमएससी++ संस्करण
एमएससी _MSC_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 (संस्करण15.0 + 15.1 + 15.2)
14.11 1911 (संस्करण15.3)
14.12 1912 (संस्करण15.5)
14.13 1913 (संस्करण15.6)
14.14 1914 (संस्करण15.7)
14.15 1915 (संस्करण15.8)
14.16 1916 (संस्करण15.9)
विजुअल प्रसारण-कक्ष 2019
14.20 1920 (संस्करण16.0)
14.21 1921 (संस्करण16.1)
14.22 1922 (संस्करण16.2)
14.23 1923 (संस्करण16.3)
14.24 1924 (संस्करण16.4)
14.25 1925 (संस्करण16.5)
14.26 1926 (संस्करण16.6)
14.27 1927 (संस्करण16.7)
14.28 1928 (संस्करण16.8 + 16.9)
14.29 1929 (संस्करण16.10 + 16.11)
विजुअल प्रसारण-कक्ष 2022
14.30 1930 (संस्करण17.0)
14.31 1931 (संस्करण17.1)
14.32 1932 (संस्करण17.2)
14.33 1933 (संस्करण17.3)
14.34 1934 (संस्करण17.4)

.ये संस्करण संख्याएँ विजुअल सी++ अनुभाषको और लाइब्रेरी की प्रमुख संस्करण संख्या को संदर्भित करती हैं, जैसा कि संस्थापन निर्देशिकाओं से देखा जा सकता है। यह विजुअल प्रसारण-कक्ष प्रकाशन के नाम पर वर्ष का उल्लेख नहीं करता है। विस्तृत सूची उपलब्ध है।[47][48] ध्यान दें कि सी ++ अनुभाषक साध्य योग्य संस्करण _MSC_VER से मेल खाता है और विज़ुअल सी++ परिणाम के संस्करण से भिन्न है। उदाहरण के लिए 14.22 (विजुअल प्रसारण-कक्ष 2019 16.2.5) में सम्मिलित Cl.exe इसके संस्करण को 19.22.27905 के रूप में संदेश करता है यदि बिना तर्क के चलाया जाता है।

विकसित संख्या के बारे में अतिरिक्त जानकारी के लिए 1200 से परिभाषित एक _MSC_FULL_VER मान भी है।।

अनुरूपता

एबीआई

विज़ुअल सी++ अनुभाषक एबीआई प्रमुख अनुभाषक प्रकाशन के बीच ऐतिहासिक दृष्टि से बदल गया है।[49] यह विशेष रूप से एसटीएल पात्रो की स्थिति में है, जहां अनुभाषक प्रकाशन के बीच पात्र आकार बहुत भिन्न होते हैं।[50] इसलिए माइक्रोसॉफ्ट मापांक सीमाओं पर सी ++ इंटरफेस का उपयोग करने के खिलाफ अनुशंसा करता है जब कोई भिन्न अनुभाषक संस्करण का उपयोग करके संकलित क्लाइंट संग्रह को सक्षम करना चाहता है। सी++ के बजाय, माइक्रोसॉफ्ट सी [53] या COM[54] का उपयोग करने की अनुशंसा करता है[51] जो अनुभाषक प्रकाशन के बीच स्थिर एबीआई रखने के लिए प्रारूपित किया गया है।

सभी 14.x एमएसवीसी प्रकाशन में एक स्थिर एबीआई है, [55] [52] और इन संस्करणों के साथ निर्मित बायनेरिज़ को आगे-संगत तरीके से मिलाया जा सकता है, निम्नलिखित प्रतिबंधों को ध्यान में रखते हुए:

  • उपयोग किया जाने वाला टूलसेट संस्करण किसी भी श्रृंखलित बायनेरिज़ को बनाने के लिए उपयोग किए जाने वाले उच्चतम टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
  • एमएसवीसी पुनर्वितरण योग्य संस्करण किसी भी अनुप्रयोग घटक द्वारा उपयोग किए जाने वाले टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
  • /GL (संपूर्ण प्रोग्राम इष्टतमीकरण) के साथ संकलित स्थिर लाइब्रेरी या विषय फ़ाइलें संस्करणों के बीच बाइनरी संगत नहीं हैं और ठीक उसी टूलसेट का उपयोग करना चाहिए।

सी रनटाइम लाइब्रेरी

विज़ुअल सी++ सी रनटाइम लाइब्रेरी के विभिन्न संस्करणों के साथ आता है।[53] इसका अर्थ है कि उपयोगकर्ता अपने संग्रह को किसी भी उपलब्ध लाइब्रेरी के साथ संकलित कर सकते हैं। हालांकि, एक ही प्रोग्राम में विभिन्न घटकों (DLL, EXE) का उपयोग करते समय कुछ उत्पन्न हो सकती हैं। एक विशिष्ट उदाहरण विभिन्न लाइब्रेरी (कंप्यूटिंग) का उपयोग करने वाला एक प्रोग्राम है। उपयोगकर्ता को प्रोग्राम के सभी घटकों के लिए एक ही सी रन-टाइम का उपयोग करना चाहिए जब तक कि निहितार्थ समझ में न आए। माइक्रोसॉफ्ट संभावित समस्याओं से बचने के लिए मल्टीथ्रेडेड सक्रिय शृंखला लाइब्रेरी (/MD या/MDd अनुभाषक विकल्प) का उपयोग करने की अनुशंसा करता है।[53]


पॉज़िक्स

हालाँकि माइक्रोसॉफ्ट का सीआरटी पॉज़िक्स इंटरफेस के एक बड़े उप-सेट को लागू करता है, विजुअल सी++ अनुभाषक व्यतिक्रम रूप से ऐसे कार्यों के हर उपयोग पर एक चेतावनी देगा। तर्क यह है कि सी और सी ++ मानकों को कार्यान्वयन-परिभाषित इंटरफेस से पहले एक अधोयोजक पूर्वयोजन की आवश्यकता होती है, इसलिए इन कार्यों का उपयोग गैर-मानक है।[54] हालाँकि, सिस्टम जो वास्तव में पॉज़िक्स - संगत हैं, वे इन रेखांकित नामों को स्वीकार नहीं करेंगे, और इसके बजाय केवल चेतावनी को बंद करना अधिक सुवाहय है।

सी

यद्यपि परिणाम सी प्रोग्रामिंग भाषा के लिए एक आईडीई के रूप में उत्पन्न हुआ, कई वर्षों तक उस भाषा के लिए संकलक का समर्थन केवल मानक सी के मूल संस्करण के अनुरूप था, जो 1989 से दिनांकन कर रहा था, लेकिन मानक सी 99 संशोधन नहीं था। इसके प्रकाशन के एक दशक से भी अधिक समय बाद, 2011 में भी सी99 का समर्थन करने की कोई योजना नहीं थी।[55] विजुअल सी++ 2013 मे अंततः अपने सी मोड में विभिन्न सी99 विशेषताओं के लिए समर्थन जोड़ा (नामांकित प्रारंभकर्ता, यौजिक दास्र्स्ती और _Bool प्रकार सहित),[56][59] हालांकि यह अभी भी पूरा नहीं हुआ था।[57] विज़ुअल सी++ 2015 ने सी99 मानक लाइब्रेरी के पूर्ण आधार के साथ सी99 आधार में और सुधार किया, उन विशेषताओं को छोड़कर जिनके लिए सी99 भाषा सुविधाओं की आवश्यकता होती है जो अभी तक संकलक द्वारा आधारित नहीं हैं।[58] मानक के सी11संशोधन से अधिकांश परिवर्तन अभी भी विजुअलसी++ 2017 द्वारा आधारित नहीं हैं।[59] उदाहरण के लिए,_Generic संकेत शब्द के माध्यम से सामान्य चयन अनुभाषक द्वारा आधारित नहीं हैं और परिणामस्वरूप सिंटैक्स त्रुटि होती है।[60] प्रीप्रोसेसर को 2018 में सी11 के साथ जांच किया गया था:[61]

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

_फरवरी 2020 तक एमएसवीसी को _Generic आधार दिया गया है, यह स्पष्ट नहीं है कि यह कब शिप होगा।[62] सितंबर 2020 में, माइक्रोसॉफ्ट ने एमएसवीसी में सी11 और सी17 मानकों के आधार की घोषणा की।[63]


सी ++

व्यतिक्रम समायोजन के साथ एमएसवीसी दो-चरण नाम खोजता नहीं करता है जो इसे अमान्य संग्रह की एक विस्तृत श्रृंखला को फ़्लैग करने से रोकता है। अधिकांश जाँचो को टेम्प्लेट उदाहरणीकरण के लिए स्थगित कर दिए जाते हैं। अधिक हाल के संस्करण इस गतिविधि का समाधान करते हैं, लेकिन इसे कमांड-लाइन विकल्प द्वारा सक्षम करने की आवश्यकता है /permissive-.[64]


संदर्भ

  1. Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
  2. "Do I need these Microsoft Visual C++ redistributables?". Ask Leo!. Retrieved 2012-11-18.
  3. Computer Language - Issue 06 (1985-02)(CL Publications)(US). February 1985.
  4. Leibson, Steve (1985-02-01). "Software Reviews: Expert team analyzes 21 C compilers". Computer Language. Retrieved 2020-06-05.
  5. Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0".
  6. Retrieved from http://support.microsoft.com/kb/196831.
  7. 7.0 7.1 "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94.
  8. Cite error: Invalid <ref> tag; no text was provided for refs named Visual C++ adds Windows support
  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. docs.microsoft.com: C++ binary compatibility between Visual Studio 2015, 2017, and 2019
  53. 53.0 53.1 C Run-Time Libraries
  54. "Compatibility". Microsoft: CRT library features (in English).
  55. "C99 support". Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
  56. "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft.
  57. Pat Brenner (July 19, 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft.
  58. "What's New for Visual C++ in Visual Studio 2015". Microsoft Developer Network. Microsoft.
  59. "Walkthrough: Compile a C program on the command line". Visual C++ Documentation. Microsoft.
  60. "MSVC 2017 does not support _Generic (type generic macros) in C".
  61. Luvsanbat, Bat-Ulzii (July 6, 2018). "MSVC Preprocessor Progress towards Conformance". Microsoft Developer Network. Archived from the original on 8 Jan 2019.
  62. "C++20 Features and Fixes". reddit. July 3, 2020.
  63. "C11 and C17 Standard Support Arriving in MSVC". September 14, 2020.
  64. "Two-phase name lookup support comes to MSVC". 2017-09-11.


अग्रिम पठन


बाहरी संबंध