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

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

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

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

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

 * माइक्रोसॉफ्ट सी 1.0, जालक सी पर आधारित, 1983 में माइक्रोसॉफ्ट का पहला सी परिणाम था। यह K&R सी के अनुरूप नहीं था।
 * सी 2.0 ने संग्रह अनुभाग और आंकड़े अनुभाग दोनों के लिए 1MiB तक की अनुमति देते हुए बड़े मॉडल समर्थन को संकलित किया।
 * सी 3.0 माइक्रोसॉफ्टके अंदर विकसित पहला संस्करण था। इस संस्करण का उद्देश्य K&R और बाद के ANSI मानक के साथ अनुरूपता थी । यह 1984 की शुरुआत में माइक्रोसॉफ्ट (विंडोज़ और ज़ेनिक्स विकास के लिए) के अंदर उपयोग किया जा रहा था। इसे 1985 में एक परिणाम के रूप में भेज दिया गया था।
 * सी 4.0 ने इष्टतमीकरण और संग्रह व्यू, एक स्रोत-स्तरीय-डीबगर जोड़ा।
 * सी 5.0 ने चक्र इष्टमीकरण और 'विशाल मेमोरी मॉडल' (64 केबी से बड़ा सरणी) समर्थन जोड़ा। माइक्रोसॉफ्ट फोरट्रान और 80386 के लिए पहला 32-बिट अनुभाषक भी इस युक्ति का हिस्सा था।
 * 1988 में जारी सी 5.1 ने OS/2 1.x के लिए संकलन प्रोग्राम की अनुमति दी।
 * सी 6.0 1989 में जारी किया गया। इसमें प्रोग्रामर के कार्यक्षेत्र IDE, सार्वत्रिक प्रवाह विश्लेषण, एक स्रोत ब्राउज़र और एक नया डीबगर जोड़ा गया, और एक वैकल्पिक सी++ फ्रंट सिरा सम्मिलित किया गया।
 * सी/सी++ 7.0 1992 में जारी किया गया था। सी++ और MFसी (माइक्रोसॉफ्ट फाउंडेशन     क्लास लाइब्रेरी ) 1.0 के लिए अंतनिर्मित समर्थन जोड़ा गया।
 * विज़ुअल सी++ 1.0, जिसमें MFसी 2.0 सम्मिलित था, ये फरवरी 1993 में 'विज़ुअल' सी++ का पहला संस्करण जारी किया गया था। यह सीफ्रंट 2.1 के अनुरूप था और दो संस्करणों में उपलब्ध था :                                                                          * * *मानक: विंडोज के लिए क्विकसी को बदल दिया गया।
 * दक्षतापूर्वक: सी/सी++ 7.0 को बदला गया। डॉस और विंडोज अनुप्रयोगों, एक इष्टतमीकरण अनुभाषक, एक स्रोत प्रोफाइलर और विंडोज 3.1 SDK दोनों को बनाने की क्षमता सम्मिलित है। फार घेरा 286 डॉस विस्तारक लाइट भी सम्मिलित थी।
 * विजुअल सी++ 1.5 को दिसंबर 1993 में जारी किया गया था, जिसमें MFसी 2.5 सम्मिलित था, और MFसी में OLE 2.0 और ODBसी का पक्ष जोड़ा गया था। यह विजुअल सी++ का पहला संस्करण था जो केवल सीडी-रोम पर आया था।
 * विजुअल सी++ 1.51 और 1.52 प्रमाणीकरण जाँच के भाग के रूप में उपलब्ध थे।
 * विजुअल सी++ 1.52b 1.52 के समान है, लेकिन इसमें संचालन विकास उपकरण समूह ( किट) सम्मिलित नहीं है।
 * विजुअल सी++ 1.52सी 1.5 का एक पैच किया हुआ संस्करण था। यह माइक्रोसॉफ्ट विंडोज़ 3.x. के लिए विगत और यकीनन सबसे प्रचलित विकास पटल है। यह माइक्रोसॉफ्ट विकास प्रसार के माध्यम से उपलब्ध है।

सख्ती से 32-बिट संस्करण

 * विजुअल सी++ 1.0 (मूल नाम: विजुअल सी++ 32-बिट संस्करण) इंटेल 386 स्थापत्य के लिए 32-बिट विकास के लिए पहला संस्करण था। यद्यपि 16-बिट संस्करण 1.5 उपलब्ध होने पर जारी किया गया था, इसमें OLE2 और ओडीबीसी के लिए समर्थन सम्मिलित नहीं था। यह विजुअल सी++ 16/32-बिट सेट नामक पोंटल में भी उपलब्ध था, जिसमें विजुअल सी++ 1.5 सम्मिलित था।
 * विज़ुअल सी++ 2.0, जिसमें एमएफसी 3.0 सम्मिलित था, केवल 32-बिट वाला पहला संस्करण था। कई मायनों में, यह संस्करण अपने समय से आगे था, क्योंकि विंडोज 95, के बाद से, तब "शिकागो" कूटनाम, अभी तक जारी नहीं किया गया था, और विंडोज एनटी के पास केवल एक छोटा सा बाजार हिस्सा था। माइक्रोसॉफ्ट ने विजुअल सी++ 1.5 को 2.x विज्ञप्ति के हिस्से के रूप में 2.1 तक सम्मिलित और नवीनतम किया, जिसमें विजुअल सी++ 1.52 और संचालन विकास किट (सीडीके) के 16-बिट और 32-बिट दोनों संस्करण सम्मिलित थे। विजुअल सी++ 2.x ने भी Win32s के विकास का समर्थन किया। यह माइक्रोसॉफ्ट विकास प्रसार के माध्यम से उपलब्ध है। यहाँ एमआईपीएस और अल्फा प्रसंस्कारित्र (यंत्र) के लिए एक विजुअल सी++ 2.0 आरआईएससी संस्करण था, साथ ही मैकितोश (68000 निर्देश सेट) के लिए कई ऑपरेटिंग सिस्टमस पर खुलने में समर्थ सॉफ्टवेर क़ा (क्रॉस-प्लेटफ़ॉर्म ) संस्करण भी था।
 * विजुअल सी++ 2.1 और 2.2 सब्सक्रिप्शन के माध्यम से उपलब्ध 2.0 के लिए अपडेट थे।
 * विजुअल सी++ 4.0, 1995-12-11 को जारी किया गया, डेवलपर स्टूडियो आईडीई पेश किया। गैर-अतिव्यापी पैनलों-नेविगेशन पैनल, संयोजन संपादक/स्रोत स्तर डीबगर पैनल, और कंसोल आउटपुट पैनल का इसका तत्कालीन उपन्यास टाइल वाला लेआउट - माइक्रोसॉफ्टविजुअलStudio उत्पाद लाइन (2013 तक) के माध्यम से जारी है। विज़ुअल सी++ 4.0 में MFसी 4.0 सम्मिलितहै, इसे विंडोज़95 और विंडोज़NT के लिए डिज़ाइन किया गया था। लीगेसी (विंडोज़3.x/DOS) प्रोजेक्ट्स के समर्थन की अनुमति देने के लिए, 4.0 विजुअल सी++ 1.52 इंस्टॉलेशन सीडी के साथ बंडल में आया। सब्सक्रिप्शन के माध्यम से उपलब्ध अपडेट में विजुअल सी++ 4.1 सम्मिलितहै, जो माइक्रोसॉफ्ट गेम SDK (बाद में DireसीtX SDK के रूप में अलग से जारी किया गया) और विजुअल सी++ 4.2 के साथ आया। विजुअलसी++ 4.0 और MFसी 4.0 के बीच संस्करण संख्या समानता प्राप्त करने के लिए संस्करण संख्या 3.0 को छोड़ दिया गया था।
 * विज़ुअल सी++ 4.2 ने विंडोज़3.x (Win32s) विकास का समर्थन नहीं किया। यह उपलब्ध मैक (कंप्यूटर) के लिए एक क्रॉस-प्लेटफ़ॉर्म संस्करण के साथ अंतिम संस्करण था और यह 2.x संस्करण से भिन्न था जिसमें यह PowerPसी निर्देश सेट के लिए संकलन की भी अनुमति देता था।
 * विजुअल सी++ 5.0, जिसमें MFसी 4.21 सम्मिलितथा और 1997-04-28 को जारी किया गया था, 4.2 से एक प्रमुख उन्नयन था। चार संस्करणों में उपलब्ध: सीखना, पेशेवर, उद्यम, और आरआईएससी।
 * विजुअल सी++ 6.0 (आमतौर पर Vसी6 के रूप में जाना जाता है), जिसमें MFसी 6.0 सम्मिलितथा, 1998 में जारी किया गया था। रिलीज़ कुछ विवादास्पद थी क्योंकि इसमें MFसी के लिए अपेक्षित अपडेट सम्मिलितनहीं था। विज़ुअल सी++ 6.0 अभी भी काफी लोकप्रिय है और अक्सर विरासत परियोजनाओं को बनाए रखने के लिए उपयोग किया जाता है। हालाँकि, विंडोज़XP के तहत इस संस्करण के साथ समस्याएँ हैं, विशेष रूप से डिबगिंग मोड के तहत (उदाहरण के लिए, स्थिर चर के मान प्रदर्शित नहीं होते हैं)। डीबगिंग समस्याओं को विजुअलसी++ 6.0 प्रोसेसर पैक नामक पैच से हल किया जा सकता है। संस्करण संख्या: 12.00.8804
 * विज़ुअल सी++ .NET 2002 (विज़ुअल सी++ 7.0 के रूप में भी जाना जाता है), जिसमें MFसी 7.0 सम्मिलितथा, 2002 में लिंक टाइम कोड जनरेशन और डिबगिंग रनटाइम चेक, .NET 1.0, और विज़ुअल सी Sharp|विजुअलसी# और प्रबंधित एक्सटेंशन के लिए समर्थन के साथ जारी किया गया था। सी++|प्रबंधित सी++। नए उपयोगकर्ता इंटरफ़ेस ने मूल दृश्य की कई हॉट कुंजियों और परंपराओं का उपयोग किया, जो सी++ डेवलपर्स के बीच इसकी कुछ अलोकप्रियता के लिए जिम्मेदार है। संस्करण संख्या: 13.00.9466
 * विज़ुअल सी++ .NET 2003 (विज़ुअल सी++ 7.1 के रूप में भी जाना जाता है), जिसमें MFसी 7.1 सम्मिलितथा, 2003 में .NET 1.1 के साथ जारी किया गया था और यह विजुअलसी++ .NET 2002 का एक प्रमुख अपग्रेड था। इसे विज़ुअल सी++ .NET का एक पैच माना गया था। 2002. तदनुसार, विजुअल स्टूडियो .NET 2003 के अंग्रेजी भाषा के उन्नयन संस्करण को विजुअल स्टूडियो .NET 2002 के अंग्रेजी भाषा के संस्करण के मालिकों के लिए न्यूनतम लागत पर भेज दिया गया। लक्ष्य के रूप में विंडोज 95 और एनटी 4.0 का समर्थन करने वाला यह अंतिम संस्करण था। संस्करण संख्या: 13.10.3077
 * एम्बेडेड विज़ुअल सी++ विभिन्न संस्करणों में विंडोज सीई ऑपरेटिंग सिस्टम के कुछ संस्करणों के विकास के लिए उपयोग किया गया था। प्रारंभ में इसने विज़ुअल सी++ 6.0 में जोड़े गए उपकरणों से युक्त एक विकास परिवेश को प्रतिस्थापित किया। eMbedded विजुअलसी++ को माइक्रोसॉफ्टविजुअलStudio द्वारा एक अलग विकास परिवेश के रूप में प्रतिस्थापित किया गया था।

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

 * विज़ुअल सी++ 2005 (विज़ुअल सी++ 8.0 के रूप में भी जाना जाता है), जिसमें MFसी 8.0 सम्मिलितथा, नवंबर 2005 में जारी किया गया था। यह संस्करण .NET 2.0 का समर्थन करता है और इसमें .NET फ्रेमवर्क (सी++/सीLI) के उद्देश्य से लक्षित सी++ का एक नया संस्करण सम्मिलितहै। पिछले संस्करण (प्रबंधित सी ++) को बदलने का। सीएलआई के लिए प्रबंधित सी ++ अभी भी कंपाइलर विकल्पों के माध्यम से उपलब्ध है। इसने ओपनएमपी भी पेश किया। विजुअल सी++ 2005 के साथ, माइक्रोसॉफ्ट ने टीम फाउंडेशन सर्वर भी पेश किया। विजुअलसी++ 8.0 में MFसी AppWizard प्रोजेक्ट्स को संकलित करने में समस्याएँ हैं जो विजुअलStudio 6.0 का उपयोग करके बनाए गए थे, इसलिए यदि पुनर्लेखन संभव नहीं है तो लीगेसी परियोजनाओं का रखरखाव मूल IDE के साथ जारी रखा जा सकता है। विज़ुअल सी++ 2005 विंडोज 98 और विंडोज़ मी को लक्षित करने में सक्षम अंतिम संस्करण है। SP1 संस्करण (14.00.50727.762) माइक्रोसॉफ्टविंडोज़SDK में भी उपलब्ध है।
 * विजुअल सी++ 2008 (जिसे विजुअल सी++ 9.0 के नाम से भी जाना जाता है) नवंबर 2007 में जारी किया गया था। यह संस्करण .NET 3.5 का समर्थन करता है। सीLI के लिए प्रबंधित सी++ अभी भी कंपाइलर विकल्पों के माध्यम से उपलब्ध है। डिफ़ॉल्ट रूप से, विज़ुअल सी++ 2008 रनटाइम्स (स्थैतिक और गतिशील लिंकिंग) के विरुद्ध संकलित सभी एप्लिकेशन केवल विंडोज़2000, विंडोज़XP SP2 और बाद के संस्करण पर काम करेंगे। Vसी9 के लिए रिलीज़ किया गया फीचर पैक, जिसे बाद में SP1 में सम्मिलितकिया गया, सी++ सी ++ तकनीकी रिपोर्ट 1 लाइब्रेरी एक्सटेंशन के लिए समर्थन जोड़ा गया। SP1 संस्करण (15.00.30729.01) माइक्रोसॉफ्टविंडोज़SDK में भी उपलब्ध है।
 * विज़ुअल सी++ के कुछ संस्करणों ने इटेनियम 2 का समर्थन किया।
 * विजुअलसी++ 2010 (जिसे विजुअलसी++ 10.0 के रूप में भी जाना जाता है) 12 अप्रैल, 2010 को जारी किया गया था। यह बेहतर IntelliSense और कोड-पूर्ण समर्थन के लिए IntelliSense जानकारी सहित स्रोत कोड के बारे में जानकारी संग्रहीत करने के लिए एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस का उपयोग करता है। हालाँकि, विजुअलसी++ 2010 सी++/सीLI के लिए Intellisense का समर्थन नहीं करता है। यह संस्करण समानांतर पैटर्न लाइब्रेरी नामक एक सी ++ समानांतर कंप्यूटिंग लाइब्रेरी जोड़ता है, सी ++ 11 के लिए आंशिक समर्थन, एडिसन डिजाइन समूह फ्रंट एंड के आधार पर इंटेलिसेन्स में काफी सुधार हुआ है, और संकलक और उत्पन्न कोड दोनों के प्रदर्शन में सुधार। यह संस्करण .NET 4.0 पर बनाया गया है, लेकिन मशीन कोड के संकलन का समर्थन करता है। आंशिक सी++11 समर्थन में मुख्य रूप से छह संकलक विशेषताएं सम्मिलितहैं: लैम्ब्डा, प्रतिद्वंद्विता संदर्भ, ऑटो, deसीltype, statiसी_assert, और nullptr। सी++11 पुस्तकालय सुविधाओं का भी समर्थन करता है (उदाहरण के लिए, TR1 घटकों को std::tr1 नामस्थान से सीधे std नाम स्थान पर ले जाना)। वैराडिक टेम्पलेट पर भी विचार किया गया था, लेकिन कम प्राथमिकता होने के कारण कुछ भविष्य के संस्करण तक देरी हुई, जो इस तथ्य से उपजी है कि, अन्य महंगी-से-कार्यान्वयन सुविधाओं (लैम्ब्डा, रावल्यू संदर्भ) के विपरीत, वैरैडिक टेम्प्लेट केवल पुस्तकालय के एक अल्पसंख्यक को लाभान्वित करेंगे। अधिकांश संकलक अंत उपयोगकर्ताओं के बजाय लेखक। डिफ़ॉल्ट रूप से, विजुअलसी++ 2010 रनटाइम के विरुद्ध संकलित सभी एप्लिकेशन केवल विंडोज़XP SP2 और बाद के संस्करण पर काम करते हैं। RTM संस्करण (16.00.30319) माइक्रोसॉफ्टविंडोज़SDK|विंडोज़SDK for विंडोज़7 और .NET Framework 4 (WinSDK v7.1) में भी उपलब्ध है। SP1 संस्करण (16.00.40219) विजुअलStudio 2010 सर्विस पैक 1 के हिस्से के रूप में या विंडोज़SDK 7.1 के लिए माइक्रोसॉफ्टविजुअलसी++ 2010 सर्विस पैक 1 कंपाइलर अपडेट के माध्यम से उपलब्ध है।
 * विज़ुअल सी++ 2012 (विज़ुअल सी++ 11.0 के रूप में भी जाना जाता है) 15 अगस्त, 2012 को जारी किया गया था। इसमें उन्नत सी++11 समर्थन और विंडोज रनटाइम विकास के लिए समर्थन सम्मिलितहै।
 * विजुअल सी++ 2013 (जिसे विजुअल सी++ 12.0 के रूप में भी जाना जाता है) 17 अक्टूबर, 2013 को जारी किया गया था। इसमें आगे सी++11 और सी99 समर्थन की सुविधा है, और एक प्रतिनिधि राज्य हस्तांतरण एसडीके पेश करता है।
 * विजुअल सी++ 2015 (जिसे विजुअल सी++ 14.0 के नाम से भी जाना जाता है) 20 जुलाई, 2015 को जारी किया गया था। इसमें बेहतर सी++ 11/14/17 सपोर्ट है। माइक्रोसॉफ्ट से किसी भी घोषणा के बिना, विजुअल स्टूडियो 2015 अपडेट 2 ने संकलित बायनेरिज़ में टेलीमेट्री कॉल उत्पन्न करना शुरू कर दिया। कुछ उपयोगकर्ताओं द्वारा इस समस्या के बारे में माइक्रोसॉफ्टसे संपर्क करने के बाद, माइक्रोसॉफ्टने कहा कि वे भविष्य के विजुअलStudio 2015 अद्यतन 3 के साथ संकलन करते समय इन टेलीमेट्री कॉलों को हटा देंगे। विज़ुअल स्टूडियो 2015 अपडेट 3 में विज़ुअल सी ++ सीआरटी स्थिर पुस्तकालयों से विचाराधीन फ़ंक्शन को हटा दिया गया था।
 * विज़ुअल सी++ 2017 (विज़ुअल सी++ 14.1 के रूप में भी जाना जाता है) 7 मार्च, 2017 को जारी किया गया था।
 * विजुअल सी++ 2019 (जिसे विजुअल सी++ 14.20 के नाम से भी जाना जाता है) 2 अप्रैल, 2019 को जारी किया गया था।
 * विजुअल सी++ 2022 (जिसे विजुअल सी++ 14.30 के नाम से भी जाना जाता है) 8 नवंबर, 2021 को जारी किया गया था।

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

विजुअल स्टूडियो 2017 से शुरुआत करते हुए,  हर विज़ुअल सी++ टूलसेट अपडेट पर नीरस रूप से वृद्धि की जाती है। इस प्रकार, उदाहरण के लिए, MSVसी संस्करण 14.11 जो विजुअलStudio 2017 संस्करण 15.3 सेट के साथ आता है   को. माइक्रोसॉफ्टउपयोग करने की अनुशंसा करता है  ऑपरेटर के मूल्य का परीक्षण करने के लिए.

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

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

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

एबीआई
विज़ुअल सी++ कंपाइलर अनुप्रयोग बाइनरी इंटरफ़ेस प्रमुख कंपाइलर रिलीज़ के बीच ऐतिहासिक रूप से बदल गया है। यह विशेष रूप से एसटीएल कंटेनरों के मामले में है, जहां कंपाइलर रिलीज के बीच कंटेनर आकार बहुत भिन्न होते हैं। इसलिए माइक्रोसॉफ्ट मॉड्यूल सीमाओं पर सी ++ इंटरफेस का उपयोग करने के खिलाफ अनुशंसा करता है जब कोई भिन्न कंपाइलर संस्करण का उपयोग करके संकलित क्लाइंट कोड को सक्षम करना चाहता है। सी++ के बजाय, माइक्रोसॉफ्टसी (प्रोग्रामिंग भाषा) का उपयोग करने की अनुशंसा करता है या घटक वस्तु मॉडल इंटरफेस, जिन्हें कंपाइलर रिलीज के बीच स्थिर एबीआई रखने के लिए डिज़ाइन किया गया है।

सभी 14.x MSVसी रिलीज़ में एक स्थिर ABI है, और इन संस्करणों के साथ निर्मित बायनेरिज़ को आगे-संगत तरीके से मिश्रित किया जा सकता है, निम्नलिखित प्रतिबंधों को ध्यान में रखते हुए:
 * उपयोग किया जाने वाला टूलसेट संस्करण किसी भी लिंक्ड बायनेरिज़ को बनाने के लिए उपयोग किए जाने वाले उच्चतम टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
 * एमएसवीसी पुनर्वितरण योग्य संस्करण किसी भी एप्लिकेशन घटक द्वारा उपयोग किए जाने वाले टूलसेट संस्करण के बराबर या उससे अधिक होना चाहिए।
 * /GL (संपूर्ण प्रोग्राम ऑप्टिमाइज़ेशन) के साथ संकलित स्टेटिक लाइब्रेरी या ऑब्जेक्ट फ़ाइलें संस्करणों के बीच बाइनरी संगत नहीं हैं और ठीक उसी टूलसेट का उपयोग करना चाहिए।

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

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

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

"Full C11 conformance is on our roadmap, and updating the preprocessor is just the first step in that process. The C11 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."

फरवरी 2020 तक MSVसी को समर्थन देने के लिए प्रतिबद्ध है, यह स्पष्ट नहीं है कि यह कब शिप होगा। सितंबर 2020 में, माइक्रोसॉफ्टने MSVसी में सी11 और सी17 मानकों के समर्थन की घोषणा की।

सी ++
डिफ़ॉल्ट सेटिंग्स के साथ MSVसी दो-चरण नाम लुकअप नहीं करता है जो इसे अमान्य कोड की एक विस्तृत श्रृंखला को फ़्लैग करने से रोकता है। अधिकांश चेक टेम्प्लेट इन्स्टेन्शियशन के लिए स्थगित कर दिए जाते हैं। अधिक हाल के संस्करण इस व्यवहार को ठीक करते हैं, लेकिन इसे कमांड-लाइन विकल्प द्वारा सक्षम करने की आवश्यकता है.

बाहरी संबंध

 * सी++ Tools and Features in विजुअलStudio Editions
 * माइक्रोसॉफ्टसी++ Build Tools
 * सी9::GoingNative on माइक्रोसॉफ्टसीhannel 9
 * सी9::GoingNative on माइक्रोसॉफ्टसीhannel 9