Microsoft Visual C++

Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI and C++/CXprogramming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms. It features tools for developing and debugging C++ code, especially code written for the Windows API, DirectX and .NET.

Many applications require redistributable Visual C++ runtime library packages to function correctly. These packages are frequently installed separately from the applications they support, enabling multiple applications to use the package with only a single installation. These Visual C++ redistributable and runtime packages are mostly installed for standard libraries that many applications use.[4]

History

The predecessor to Visual C++ was called Microsoft C/C++. There was also a Microsoft QuickC 2.5 and a Microsoft QuickC for Windows 1.0. The Visual C++ compiler is still known as Microsoft C/C++ and as of the release of Visual C++ 2015 Update 2, is on version 14.0.23918.0.

16-bit versions

  • Microsoft C 1.0, based on Lattice C, was Microsoft's first C product in 1983. It was not K&R C compliant.
  • C 2.0 added large model support, allowing up to 1MiB for both the Code Segment and Data Segment.[5]
  • C 3.0 was the first version developed inside Microsoft.[6] This version intended compatibility with K&R and the later ANSI standard. It was being used inside Microsoft (for Windows and Xenix development) in early 1984. It shipped as a product in 1985.
  • C 4.0 added optimizations and CodeView, a source-level debugger.
  • C 5.0 added loop optimizations and huge memory model (arrays bigger than 64 KB) support.
  • C 5.1 released in 1988 allowed compiling programs for OS/2 1.x. The fourteen 5.25" disk (two of which were 1.2 MB, the others 360k) version included QuickC. The eleven 720k 3.5" disk version included with the OS/2 Software Development Kit included MASM 5.1 (a single executable that worked under both MSDOS and OS/2 1.x).
  • أضافت لغة C 6.0، التي صدرت عام 1989، دعمًا لنموذج الذاكرة المصغر ودعمًا أفضل لمعيار ANSI C89 (مع أن الوثائق تشير صراحةً إلى أنها ليست متوافقة بنسبة 100%، إلا أنها تبدو قريبة بما يكفي للأغراض العملية). كما أضافت بيئة التطوير المتكاملة Programmer's Workbench ، وتحليل التدفق العام، ومتصفح المصدر، ومصحح أخطاء جديد. ولدهشة الكثيرين، لم تُضمّن لغة C++ على الرغم من وجود بدائل لها لدى المنافسين. [ 7 ]
  • صدرت لغة C/C++ 7.0 عام 1992. تخلت عن دعم نظام التشغيل OS/2. تطلّب تجميعها معالج 386 بالإضافة إلى مُوسِّع DOS المُضمَّن ، 386MAX ، [ 8 ] مع ذلك، كان على المستخدمين، لتمكينهم من استهداف مُوسِّعات DOS في برامجهم الخاصة، استخدام إحدى أدوات الطرف الثالث التي صدرت لاحقًا . [ 9 ] أُضيف دعم مُدمج للغة C++ ومكتبة فئات مؤسسة مايكروسوفت ( MFC ) 1.0. [ 10 ]
  • كان Visual C++ 1.0، الذي تضمن MFC 2.0، هو الإصدار الأول من "Visual" C++، والذي تم إصداره في فبراير 1993. وكان متوافقًا مع Cfront 2.1 [ 11 ] ومتاحًا في إصدارين: [ 1 ]
    • المعيار: حل محل QuickC لنظام التشغيل Windows.
    • إصدار احترافي: حل محل C/C++ 7.0. تضمن إمكانية إنشاء تطبيقات DOS وWindows، ومُصرّفًا مُحسِّنًا ، ومُحلِّلًا للمصدر ، وحزمة تطوير البرامج Windows 3.1. [ 11 ] كما تم تضمين Phar Lap 286 DOS Extender Lite . [ 12 ]
  • تم إصدار Visual C++ 1.5 في ديسمبر 1993، وتضمن MFC 2.5، وأضاف دعم OLE 2.0 و ODBC إلى MFC. [ 13 ] وكان هذا أول إصدار من Visual C++ يأتي فقط على قرص مضغوط .
    • كان الإصداران 1.51 و1.52 من Visual C++ متاحين كجزء من خدمة الاشتراك.
    • يُشبه Visual C++ 1.52b الإصدار 1.52، ولكنه لا يتضمن مجموعة أدوات تطوير التحكم.
    • كان Visual C++ 1.52c نسخة مُعدّلة من الإصدار 1.5. وهو آخر منصة تطوير، وربما الأكثر شيوعًا، لنظام التشغيل Microsoft Windows 3.x. وهو متوفر عبر شبكة مطوري Microsoft .

إصدارات 32 بت فقط

  • كان Visual C++ 1.0 (الاسم الأصلي: Visual C++ 32-bit Edition)، الذي صدر عام 1993، أول إصدار لتطوير تطبيقات 32 بت (ويتطلب نظام تشغيل Windows NT 32 بت) لبنية Intel 386. [ 14 ] على الرغم من إصداره بالتزامن مع توفر الإصدار 1.5 ذي 16 بت ، إلا أنه لم يدعم تقنيتي OLE2 وODBC. كما كان متوفرًا ضمن حزمة Visual C++ 16/32-bit Suite، التي تضمنت Visual C++ 1.5. [ 15 ]
  • كان Visual C++ 2.0، الذي تضمن MFC 3.0، أول إصدار يعمل بنظام 32 بت فقط. وقد كان هذا الإصدار سابقًا لعصره من نواحٍ عديدة، إذ لم يكن نظام التشغيل Windows 95 ، الذي كان يُعرف آنذاك باسم "Chicago"، قد صدر بعد، ولم يكن نظام Windows NT يحظى إلا بحصة سوقية صغيرة. قامت مايكروسوفت بتضمين وتحديث Visual C++ 1.5 كجزء من إصدارات 2.x حتى الإصدار 2.1، الذي تضمن Visual C++ 1.52، كما تم تضمين كلٍ من إصداري 16 بت و32 بت من مجموعة أدوات تطوير التحكم (CDK). دعم Visual C++ 2.x أيضًا تطوير تطبيقات Win32s . وهو متوفر عبر شبكة مطوري مايكروسوفت . كما توفر إصدار Visual C++ 2.0 RISC لمعالجات MIPS و Alpha ، بالإضافة إلى إصدار متعدد المنصات لنظام Macintosh ( مجموعة تعليمات 68000 ). [ 16 ]
    • كانت نسخة مايكروسوفت فيجوال سي++ للتطوير المتقاطع لنظام ماكنتوش إضافةً لبرنامج فيجوال سي++، وقد قدمت مكتبة قابلية نقل ويندوز، المعروفة أصلاً باسم مكتبة ويندوز لنظام ماكنتوش [ 17 ] : 17 أو طبقة ويندوز لنظام ماكنتوش (WLM)، [ 18 ] : 16 مما يسمح للمطورين بكتابة تطبيقات باستخدام واجهات برمجة تطبيقات Win32 وMFC التي يمكن تجميعها لأجهزة كمبيوتر ماكنتوش ذات بنية 68000. [ 17 ]
    • كانت إصدارات Visual C++ 2.1 و 2.2 تحديثات للإصدار 2.0 متاحة من خلال الاشتراك.
  • قدمت Visual C++ 4.0، التي صدرت في 11 ديسمبر 1995، [ 19 ] بيئة التطوير المتكاملة Developer Studio. ولا يزال تصميمها المبتكر آنذاك، والمكون من لوحات غير متداخلة - لوحة التنقل، ولوحة محرر/مصحح أخطاء على مستوى المصدر، ولوحة إخراج وحدة التحكم [ 20 ] - مستخدمًا في جميع إصدارات Visual Studio ( حتى عام 2025).تضمنت Visual C++ 4.0 مكتبة MFC 4.0، وصُممت لأنظمة التشغيل Windows 95 وWindows NT. ولدعم المشاريع القديمة (Windows 3.x/DOS)، جاءت النسخة 4.0 مُدمجة مع قرص تثبيت Visual C++ 1.52. وشملت التحديثات المتاحة عبر الاشتراك Visual C++ 4.1، التي جاءت مع حزمة تطوير برامج الألعاب من Microsoft (والتي صدرت لاحقًا بشكل منفصل باسم DirectX SDK)، وVisual C++ 4.2. تم تخطي الإصدار 3.0 لتحقيق تطابق في أرقام الإصدارات بين Visual C++ 4.0 وMFC 4.0. [ 21 ]
  • لم يدعم Visual C++ 4.2 تطوير تطبيقات Windows 3.x ( Win32s ). [ 22 ] كان هذا الإصدار الأخير الذي يتوفر منه إصدار متعدد المنصات لنظام Mac، وقد اختلف عن الإصدار 2.x في أنه سمح أيضًا بالتجميع لمجموعة تعليمات PowerPC .
  • كان Visual C++ 5.0 (المرفق مع Visual Studio 97) والذي تضمن MFC 4.21 وصدر في 28 أبريل 1997، [ 19 ] بمثابة ترقية رئيسية من الإصدار 4.2. [ 23 ] وهو متوفر بأربعة إصدارات: Learning، [ 24 ] Professional، [ 25 ] Enterprise، [ 26 ] وRISC. [ 27 ]
  • تم إصدار Visual C++ 6.0 (المعروف اختصارًا بـ VC6، والمتوفر بشكل مستقل في إصدارات Standard وProfessional وEnterprise، بالإضافة إلى تضمينه مع Visual Studio 6.0) في عام 1998، والذي تضمن MFC 6.0. [ 28 ] [ 29 ] أثار هذا الإصدار بعض الجدل لعدم احتوائه على التحديث المتوقع لـ MFC. لا يزال Visual C++ 6.0 شائعًا ويُستخدم غالبًا لصيانة المشاريع القديمة. مع ذلك، توجد بعض المشاكل في هذا الإصدار على نظام Windows XP، خاصةً في وضع التصحيح (على سبيل المثال، لا تظهر قيم المتغيرات الثابتة). يمكن حل مشاكل التصحيح باستخدام حزمة تصحيح تُسمى "Visual C++ 6.0 Processor Pack". [ 30 ] رقم الإصدار: 12.00.8804
  • تم إصدار Visual C++ .NET 2002 (المعروف أيضًا باسم Visual C++ 7.0)، والذي تضمن MFC 7.0، في عام 2002 مع دعم توليد التعليمات البرمجية أثناء الربط وفحوصات تصحيح الأخطاء أثناء التشغيل، و.NET 1.0، و Visual C# و Managed C++ . استخدمت واجهة المستخدم الجديدة العديد من اختصارات لوحة المفاتيح واتفاقيات Visual Basic ، مما ساهم في عدم شعبيتها بين مطوري C++. رقم الإصدار: 13.00.9466
  • تم إصدار Visual C++ .NET 2003 (المعروف أيضًا باسم Visual C++ 7.1)، والذي تضمن MFC 7.1، في عام 2003 بالتزامن مع .NET 1.1، وكان بمثابة ترقية رئيسية لـ Visual C++ .NET 2002، وأول إصدار يدعم بنية "long long" في لغة C99. واعتُبر بمثابة تصحيح لـ Visual C++ .NET 2002. وبناءً على ذلك، تم توفير نسخة الترقية الإنجليزية من Visual Studio .NET 2003 بسعر رمزي لمستخدمي النسخة الإنجليزية من Visual Studio .NET 2002. يُعد Windows 98 أدنى إصدار مدعوم رسميًا. مع أن البرامج البسيطة تعمل على Windows 95 وNT 4.0، إلا أن البرامج الأكثر تعقيدًا قد تتسبب في استدعاء ملفات مثل ws2_32.dll، أو في فقدان بعض الدوال في kernel32.dll. في الإصدارات اللاحقة (Visual C++ 2005) من المُصرّف، حتى البرامج البسيطة لن تعمل (إلا إذا استبدلت مكتبة C) لأنها تحتوي على مرجع للدالة IsDebuggerPresent في ملف kernel32.dll، وهي دالة موجودة فقط في نظام التشغيل Windows 98 والإصدارات الأحدث. رقم الإصدار: 13.10.3077
  • استُخدمت بيئة التطوير eMbedded Visual C++ [ 31 ] بإصداراتها المختلفة لتطوير تطبيقات لبعض إصدارات نظام التشغيل Windows CE . في البداية، حلت محل بيئة تطوير تتكون من أدوات أُضيفت إلى Visual C++ 6.0. ثم استُبدلت eMbedded Visual C++ كبيئة تطوير مستقلة ببرنامج Microsoft Visual Studio 2005 .

إصدارات 32 بت و 64 بت

  • تم إصدار Visual C++ 2005 (المعروف أيضًا باسم Visual C++ 8.0)، والذي تضمن MFC 8.0، في نوفمبر 2005. يدعم هذا الإصدار .NET 2.0 ويتضمن إصدارًا جديدًا من لغة C++ مُصمم خصيصًا لإطار عمل .NET ( C++/CLI ) بهدف استبدال الإصدار السابق ( Managed C++ ). مع ذلك، لا يزال Managed C++ لـ CLI متاحًا عبر خيارات المُصرّف. كما قدم هذا الإصدار OpenMP . مع Visual C++ 2005، قدمت مايكروسوفت أيضًا Team Foundation Server . يواجه Visual C++ 8.0 مشاكل في تجميع مشاريع MFC AppWizard التي تم إنشاؤها باستخدام Visual Studio 6.0، لذا يُمكن مواصلة صيانة المشاريع القديمة باستخدام بيئة التطوير المتكاملة الأصلية إذا لم يكن إعادة كتابتها ممكنًا. يُعد Visual C++ 2005 آخر إصدار قادر على استهداف نظامي التشغيل Windows 98 و Windows Me . [ 32 ] [ 33 ] يتوفر إصدار SP1 (14.00.50727.762) أيضًا في تحديث Microsoft Windows SDK لنظام التشغيل Windows Vista .
  • صدرت Visual C++ 2008 (المعروفة أيضًا باسم Visual C++ 9.0) في نوفمبر 2007. يدعم هذا الإصدار .NET 3.5. ولا يزال Managed C++ لواجهة سطر الأوامر متاحًا عبر خيارات المُصرّف. افتراضيًا، تعمل جميع التطبيقات المُصرّفة باستخدام بيئات تشغيل Visual C++ 2008 (الربط الثابت والديناميكي) فقط على أنظمة Windows 2000 وWindows XP SP2 والإصدارات الأحدث. [ 34 ] [ 35 ] أضافت حزمة ميزات صدرت لـ VC9، والتي أُدرجت لاحقًا في SP1، دعمًا لامتدادات مكتبة C++ TR1 . يتوفر إصدار SP1 (15.00.30729.01) أيضًا في Microsoft Windows SDK لنظام Windows 7 .
  • بعض إصدارات Visual C++ تدعم معالج Itanium 2 .
  • تم إصدار Visual C++ 2010 (المعروف أيضًا باسم Visual C++ 10.0) في 12 أبريل 2010. يستخدم هذا الإصدار قاعدة بيانات SQL Server Compact لتخزين معلومات حول شفرة المصدر، بما في ذلك معلومات IntelliSense ، لتحسين دعم IntelliSense وإكمال التعليمات البرمجية. [ 36 ] مع ذلك، لا يدعم Visual C++ 2010 ميزة IntelliSense للغة C++/CLI. [ 37 ] يضيف هذا الإصدار مكتبة حوسبة متوازية للغة C++ تُسمى مكتبة الأنماط المتوازية ، ودعمًا جزئيًا للغة C++11 ، وتحسينات كبيرة في IntelliSense استنادًا إلى واجهة Edison Design Group الأمامية، [ 38 ] بالإضافة إلى تحسينات في أداء كلٍ من المُصرّف والشفرة المُولّدة. [ 39 ] تم بناء هذا الإصدار على .NET 4.0، ولكنه يدعم الترجمة إلى لغة الآلة . يتألف الدعم الجزئي للغة C++11 بشكل أساسي من ست ميزات للمترجم: [ 40 ] الدوال المجهولة (lambda)، ومراجع القيم اليمنى (rvalue references)، وauto، وdecltype، وstatic_assert، وnullptr. كما تدعم C++11 ميزات المكتبة (مثل نقل مكونات TR1 من مساحة اسم std::tr1 مباشرةً إلى مساحة اسم std). وقد تم النظر في القوالب المتغيرة ، ولكن تم تأجيلها إلى إصدار لاحق نظرًا لأولويتها المنخفضة، وذلك لأنها، على عكس الميزات الأخرى المكلفة التنفيذ (الدوال المجهولة، ومراجع القيم اليمنى)، ستفيد فئة قليلة فقط من مطوري المكتبات بدلاً من غالبية مستخدمي المترجم. [ 41 ] بشكل افتراضي، تعمل جميع التطبيقات المُجمَّعة باستخدام Visual C++ 2010 Runtimes فقط على نظام التشغيل Windows XP SP2 والإصدارات الأحدث. يتوفر الإصدار النهائي (16.00.30319) أيضًا في حزمة تطوير البرامج لنظام التشغيل Windows 7 و.NET Framework 4 (WinSDK v7.1). [ 42 ] يتوفر الإصدار SP1 (16.00.40219) كجزء من حزمة الخدمة الأولى لبرنامج Visual Studio 2010 أو من خلال تحديث مُجمِّع حزمة الخدمة الأولى لبرنامج Microsoft Visual C++ 2010 لنظام Windows SDK 7.1. [ 43 ]
  • تم إصدار Visual C++ 2012 (المعروف أيضًا باسم Visual C++ 11.0) في 15 أغسطس 2012. ويتميز بدعم محسّن للغة C++11، ودعم لتطوير Windows Runtime . [ 44 ]
  • تم إصدار Visual C++ 2013 (المعروف أيضًا باسم Visual C++ 12.0) في 17 أكتوبر 2013. ويتميز بدعم إضافي لـ C++11 و C99 ، ويقدم REST SDK. [ 45 ]
  • صدرت Visual C++ 2015 (المعروفة أيضًا باسم Visual C++ 14.0) في 20 يوليو 2015. [ 46 ] وتتميز بدعم مُحسّن للغات C++11/14/17. [ 47 ] وبدون أي إعلان من مايكروسوفت، بدأ تحديث Visual Studio 2015 Update 2 في توليد استدعاءات بيانات القياس عن بُعد في الملفات الثنائية المُجمّعة. بعد أن تواصل بعض المستخدمين مع مايكروسوفت بشأن هذه المشكلة، صرّحت مايكروسوفت بأنها ستزيل استدعاءات بيانات القياس عن بُعد هذه عند التجميع باستخدام تحديث Visual Studio 2015 Update 3 المستقبلي. [ 48 ] [ 49 ] وقد أُزيلت الدالة المعنية من مكتبات CRT الثابتة لـ Visual C++ في تحديث Visual Studio 2015 Update 3.
  • تم إصدار Visual C++ 2017 (المعروف أيضًا باسم Visual C++ 14.10) في 7 مارس 2017. [ 50 ]
  • تم إصدار Visual C++ 2019 (المعروف أيضًا باسم Visual C++ 14.20) في 2 أبريل 2019. [ 51 ]

إصدارات 64 بت فقط

  • تم إصدار Visual C++ 2022 (المعروف أيضًا باسم Visual C++ 14.30) في 8 نوفمبر 2021. [ 52 ]
  • تم إصدار Visual C++ 2022 (المعروف أيضًا باسم Visual C++ 14.40) في 21 مايو 2024. [ 53 ]
  • تم إصدار Visual C++ 2026 (المعروف أيضًا باسم Visual C++ 14.50) في 11 نوفمبر 2025. [ 54 ]

ترقيم الإصدارات الداخلية

توجد عدة أرقام إصدارات مختلفة يجب مراعاتها عند العمل مع Visual C أو C++. أقدمها وأكثرها أصالة هو رقم إصدار المُصرّف، الذي يتزايد بشكل مطرد منذ بدايات مُصرّف Microsoft C. هذا هو الإصدار الذي يُعاد عند تشغيل الأمر cl.exeبمفرده دون أي خيارات. بأخذ رقمين بعد الفاصلة العشرية وحذفها، يصبح هذا أيضًا قيمة ماكرو مُعالج C المُسبق: _MSC_VER، ومتغير CMake: MSVC_VERSION. يوجد إصدار أطول من ماكرو C يُستخدم _MSC_FULL_VERللتمييز بدقة أكبر بين إصدارات المُصرّف. على سبيل المثال، _MSC_VER1933 يُمثل الإصدار 19.33 من مُصرّف Microsoft C/C++، و _MSC_FULL_VER193331630.

يشير إصدار منتج Visual، مثل "17.3.4"، إلى إصدار Visual Studio الذي تم تضمين الإصدار 19.33 من المُصرّف معه. ثم هناك إصدار مكتبة وقت تشغيل Microsoft Visual C/C++، مثل "14.3". ومن هذا، يمكن استنتاج إصدار مجموعة الأدوات، والذي يُمكن الحصول عليه بأخذ الأرقام الثلاثة الأولى من إصدار مكتبة وقت التشغيل وحذف الفاصلة العشرية، مثل "143". وتشمل هذه المجموعة مكتبة وقت تشغيل Visual C/C++، بالإضافة إلى المُصرّفات، والروابط، والمُجمّعات، وأدوات البناء الأخرى، والمكتبات وملفات الرأس المُطابقة. فيما يلي جدول (قابل للاستخراج) لأرقام الإصدارات المعروفة ذات الصلة.

إصدارات Visual Studio [ 55 ] [ 56 ]
اسم المنتجVC (رمز الإصدار)السنة التسويقية_MSC_VER_MSC_FULL_VERإصدار مكتبة وقت التشغيل
مايكروسوفت سي 6.0600
مايكروسوفت سي/سي++ 7.0700
Visual C++ 1.01.08001
Visual C++ 2.02.09002
Visual C++ 4.04.010004
Visual C++ 4.14.110104.1
Visual C++ 4.24.210204.2
Visual Studio 97 [5.0]5.09711005
Visual Studio 6.0 SP56.01200120088046
Visual Studio 6.0 SP66.01200120088046
Visual Studio .NET 2002 [7.0]7.020021300130094667
Visual Studio .NET 2003 Beta [7.1]7.120031310131022927.1
مجموعة أدوات Visual Studio 2003 [7.1]7.120031310131030527.1
Visual Studio .NET 2003 [7.1]7.120031310131030777.1
Visual Studio .NET 2003 SP1 [7.1]7.120031310131060307.1
Visual Studio 2005 Beta 1 [8.0]8.0200514001400406078
Visual Studio 2005 Beta 2 [8.0]8.0200514001400502158
Visual Studio 2005 [8.0]8.0200514001400503208
Visual Studio 2005 SP1 [8.0]8.0200514001400507278
Visual Studio 2008 Beta 2 [9.0]8.0200815001500207069
Visual Studio 2008 [9.0]9.0201015001500210229
Visual Studio 2008 SP1 [9.0]9.0201015001500307299
Visual Studio 2010 Beta 1 [10.0]10.02010160016002050610
Visual Studio 2010 Beta 2 [10.0]10.02010160016002100310
Visual Studio 2010 [10.0]10.02010160016003031910
Visual Studio 2010 SP1 [10.0]10.02010160016004021910
Visual Studio 2012 [11.0]11.02012170017005072711
تحديث Visual Studio 2012 رقم 1 [11.0]11.02012170017005110611
تحديث Visual Studio 2012 رقم 2 [11.0]11.02012170017006031511
تحديث Visual Studio 2012 رقم 3 [11.0]11.02012170017006061011
تحديث Visual Studio 2012 رقم 4 [11.0]11.02012170017006103011
Visual Studio 2012 نوفمبر CTP [11.0]11.02012170017005102511
معاينة Visual Studio 2013 [12.0]12.02013180018002061712
Visual Studio 2013 RC [12.0]12.02013180018002082712
Visual Studio 2013 [12.0]12.02013180018002100512
تحديث Visual Studio 2013 رقم 1 [12.0]12.02013180018002100512
Visual Studio 2013 Update2 RC [12.0]12.02013180018003032412
تحديث Visual Studio 2013 رقم 2 [12.0]12.02013180018003050112
تحديث Visual Studio 2013 رقم 3 [12.0]12.02013180018003072312
تحديث Visual Studio 2013 رقم 4 [12.0]12.02013180018003110112
تحديث Visual Studio 2013 رقم 5 [12.0]12.02013180018004062912
Visual Studio 2013 نوفمبر CTP [12.0]12.02013180018002111412
Visual Studio 2015 [14.0]14.02015190019002302614
تحديث Visual Studio 2015 رقم 1 [14.0]14.02015190019002350614
تحديث Visual Studio 2015 رقم 2 [14.0]14.02015190019002391814
تحديث Visual Studio 2015 رقم 3 [14.0]14.02015190019002421014
Visual Studio 2017 الإصدار 15.015.02017191019102501714.1
Visual Studio 2017 الإصدار 15.115.12017191019102501714.1
Visual Studio 2017 الإصدار 15.215.22017191019102501714.1
Visual Studio 2017 الإصدار 15.3.315.3.32017191119112550714.11
Visual Studio 2017 الإصدار 15.4.415.4.42017191119112554214.11
Visual Studio 2017 الإصدار 15.4.515.4.52017191119112554714.11
Visual Studio 2017 الإصدار 15.5.215.5.22017191219122583114.12
Visual Studio 2017 الإصدار 15.5.315.5.32017191219122583414.12
Visual Studio 2017 الإصدار 15.5.415.5.42017191219122583414.12
Visual Studio 2017 الإصدار 15.5.615.5.62017191219122583514.12
Visual Studio 2017 الإصدار 15.5.715.5.72017191219122583514.12
Visual Studio 2017 الإصدار 15.6.015.6.02017191319132612814.13
Visual Studio 2017 الإصدار 15.6.115.6.12017191319132612814.13
Visual Studio 2017 الإصدار 15.6.215.6.22017191319132612814.13
Visual Studio 2017 الإصدار 15.6.315.6.32017191319132612914.13
Visual Studio 2017 الإصدار 15.6.415.6.42017191319132612914.13
Visual Studio 2017 الإصدار 15.6.615.6.62017191319132613114.13
Visual Studio 2017 الإصدار 15.6.715.6.72017191319132613214.13
Visual Studio 2017 الإصدار 15.7.115.7.12017191419142642814.14
Visual Studio 2017 الإصدار 15.7.215.7.22017191419142642914.14
Visual Studio 2017 الإصدار 15.7.315.7.32017191419142643014.14
Visual Studio 2017 الإصدار 15.7.515.7.52017191419142643314.14
Visual Studio 2017 الإصدار 15.9.115.9.12017191619162702314.16
Visual Studio 2017 الإصدار 15.9.415.9.42017191619162702514.16
Visual Studio 2017 الإصدار 15.9.515.9.52017191619162702614.16
Visual Studio 2017 الإصدار 15.9.715.9.72017191619162702714.16
Visual Studio 2017 الإصدار 15.9.1115.9.112017191619162703014.16
Visual Studio 2019 الإصدار 16.0.016.0.02019192019202750814.20
Visual Studio 2019 الإصدار 16.1.216.1.22019192119212770214.21
Visual Studio 2019 الإصدار 16.2.316.2.32019192219222790514.21
Visual Studio 2019 الإصدار 16.3.216.3.22019192319232810514.21
Visual Studio 2019 الإصدار 16.4.016.4.02019192419242831414.24
Visual Studio 2019 الإصدار 16.5.116.5.12019192519252861114.25
Visual Studio 2019 الإصدار 16.6.216.6.22019192619262880614.26
Visual Studio 2019 الإصدار 16.716.72019192719272911214.27
Visual Studio 2019 الإصدار 16.8.116.8.12019192819282933314.28
Visual Studio 2019 الإصدار 16.8.216.8.22019192819282933414.28
Visual Studio 2019 الإصدار 16.9.016.9.02019192819282991014.28
Visual Studio 2019 الإصدار 16.9.216.9.22019192819282991314.28
Visual Studio 2019 الإصدار 16.9.1716.9.172019192819282992114.28
Visual Studio 2019 الإصدار 16.9.1816.9.182019192819282992114.28
Visual Studio 2019 الإصدار 16.9.1916/9/20192019192819282992314.28
Visual Studio 2019 الإصدار 16.11.216.11.22019192919293013314.29
Visual Studio 2019 الإصدار 16.11.816.11.82019192919293013814.29
Visual Studio 2019 الإصدار 16.11.916.11.92019192919293013914.29
Visual Studio 2019 الإصدار 16.11.1016.11.102019192919293014014.29
Visual Studio 2019 الإصدار 16.11.1116.11.112019192919293014114.29
Visual Studio 2019 الإصدار 16.11.1216/11/20122019192919293014214.29
Visual Studio 2019 الإصدار 16.11.1616/11/20162019192919293014514.29
Visual Studio 2019 الإصدار 16.11.1716.11.172019192919293014614.29
Visual Studio 2019 الإصدار 16.11.2116.11.212019192919293014714.29
Visual Studio 2019 الإصدار 16.11.2416.11.242019192919293014814.29
Visual Studio 2019 الإصدار 16.11.2716.11.272019192919293015114.29
Visual Studio 2019 الإصدار 16.11.3516.11.352019192919293015414.29
Visual Studio 2022 الإصدار 17.0.117.0.12022193019303070514.30
Visual Studio 2022 الإصدار 17.0.217.0.22022193019303070614.31
Visual Studio 2022 الإصدار 17.1.317.1.32022193119313110514.31
Visual Studio 2022 الإصدار 17.2.217.2.22022193219323132914.32
Visual Studio 2022 الإصدار 17.3.417.3.42022193319333163014.33
Visual Studio 2022 الإصدار 17.4.017.4.02022193419343193314.34
Visual Studio 2022 الإصدار 17.5.017.5.02022193519353221514.35
Visual Studio 2022 الإصدار 17.6.017.6.02022193619363253214.36
Visual Studio 2022 الإصدار 17.6.217.6.22022193619363253214.36.32532
Visual Studio 2022 الإصدار 17.6.417.6.42022193619363253514.36.32532
Visual Studio 2022 الإصدار 17.7.017.7.02022193719373282214.36.32543
Visual Studio 2022 الإصدار 17.8.017.8.02022193819383313014.38.33135
Visual Studio 2022 الإصدار 17.9.117.9.12022193919393352014.39.33520
Visual Studio 2022 الإصدار 17.9.617.9.62022193919393352314.39.33523
Visual Studio 2022 الإصدار 17.10.117.10.12022194019403381114.40.33811
Visual Studio 2022 الإصدار 17.10.1017.10.102022194019403381814.40.33818
Visual Studio 2022 الإصدار 17.11.017.11.02022194119413412014.41.34120
Visual Studio 2022 الإصدار 17.12.417.12.42022194219423443614.42.34436
Visual Studio 2022 الإصدار 17.13.017.13.02022194319433480814.43.34808
Visual Studio 2022 الإصدار 17.13.617.13.62022194319433481014.43.34810

التوافق

ABI

لطالما شهدت واجهة التطبيق الثنائية (ABI) لمترجم Visual C++ تغييرات بين الإصدارات الرئيسية للمترجم. [ 57 ] وينطبق هذا بشكل خاص على حاويات STL، حيث تباينت أحجام الحاويات بشكل كبير بين إصدارات المترجم. [ 58 ] لذلك، توصي مايكروسوفت بعدم استخدام واجهات C++ عند حدود الوحدات النمطية عند الرغبة في تمكين كود العميل المُترجم باستخدام إصدار مختلف من المترجم. وبدلاً من C++، توصي مايكروسوفت باستخدام واجهات C [ 59 ] أو COM [ 60 ] ، المصممة للحفاظ على واجهة تطبيق ثنائية مستقرة بين إصدارات المترجم.

جميع إصدارات MSVC 14.x لها واجهة تطبيق ثنائية مستقرة، [ 61 ] ويمكن دمج الملفات الثنائية التي تم إنشاؤها باستخدام هذه الإصدارات بطريقة متوافقة مع الإصدارات اللاحقة، مع مراعاة القيود التالية:

  • يجب أن يكون إصدار مجموعة الأدوات المستخدم مساوياً أو أعلى من أعلى إصدار لمجموعة الأدوات المستخدمة لإنشاء أي ملفات ثنائية مرتبطة.
  • يجب أن يكون إصدار MSVC Redistributable مساوياً أو أعلى من إصدار مجموعة الأدوات المستخدمة بواسطة أي مكون من مكونات التطبيق.
  • المكتبات الثابتة أو ملفات الكائنات التي تم تجميعها باستخدام /GL (تحسين البرنامج بالكامل) ليست متوافقة ثنائياً بين الإصدارات ويجب أن تستخدم نفس مجموعة الأدوات بالضبط.

مكتبات وقت تشغيل لغة C

يأتي Visual C++ مزودًا بإصدارات مختلفة من مكتبات وقت تشغيل لغة C. [ 62 ] وهذا يعني أنه بإمكان المستخدمين تجميع برامجهم باستخدام أي من المكتبات المتاحة. مع ذلك، قد يُسبب هذا بعض المشاكل عند استخدام مكونات مختلفة ( ملفات DLL ، ملفات EXE ) في البرنامج نفسه. مثال نموذجي على ذلك هو برنامج يستخدم مكتبات مختلفة . ينبغي على المستخدم استخدام وقت تشغيل لغة C نفسه لجميع مكونات البرنامج ما لم يكن على دراية بالآثار المترتبة على ذلك. توصي مايكروسوفت باستخدام مكتبة الارتباط الديناميكي متعددة الخيوط (خيار المُجمِّع /MD أو /MDd) لتجنب المشاكل المحتملة. [ 62 ]

بوسيكس

على الرغم من أن مكتبة CRT من مايكروسوفت تُطبّق مجموعة كبيرة من واجهات POSIX ، فإن مُصرّف Visual C++ يُصدر تحذيرًا افتراضيًا عند استخدام أيٍّ من هذه الدوال. والسبب في ذلك هو أن معايير لغتي C وC++ تتطلب استخدام شرطة سفلية قبل أسماء الواجهات المُعرّفة في التنفيذ، لذا فإن استخدام هذه الدوال يُعدّ غير قياسي. [ 63 ] مع ذلك، فإن الأنظمة المتوافقة فعليًا مع POSIX لا تقبل هذه الأسماء التي تحتوي على شرطة سفلية، ومن الأسهل تعطيل التحذير بدلًا من ذلك.

ج

على الرغم من أن المنتج نشأ كبيئة تطوير متكاملة للغة البرمجة C ، إلا أن دعم المترجم لهذه اللغة لسنوات عديدة اقتصر على الإصدار الأصلي من معيار C ، الذي يعود تاريخه إلى عام 1989، وليس على مراجعة C99 للمعيار. ولم تكن هناك أي خطط لدعم C99 حتى عام 2011، أي بعد أكثر من عقد من نشره. [ 64 ]

أضافت Visual C++ 2013 أخيرًا دعمًا لميزات C99 المختلفة في وضع C الخاص بها (بما في ذلك المُهيئات المُخصصة، والقيم الحرفية المركبة، والنوع _Bool[ 65 ] على الرغم من أنها لم تكن مكتملة بعد. [ 66 ] وقد حسّنت Visual C++ 2015 دعم C99 بشكل أكبر، مع دعم كامل لمكتبة C99 القياسية، باستثناء الميزات التي تتطلب ميزات لغة C99 غير مدعومة من قِبل المُصرّف حتى الآن. [ 67 ]

لم تكن معظم التغييرات التي طرأت على مراجعة C11 للمعيار مدعومة بعد من قبل Visual C++ 2017. [ 68 ] على سبيل المثال، _Genericلا يدعم المترجم عمليات التحديد العامة عبر الكلمة المفتاحية، مما يؤدي إلى خطأ في بناء الجملة. [ 69 ]

تم إصلاح المعالج المسبق في عام 2018، مع وضع C11 في الاعتبار: [ 70 ]

يُعدّ التوافق الكامل مع معيار C11 جزءًا من خطتنا المستقبلية، وتحديث المعالج المسبق ليس سوى الخطوة الأولى في هذه العملية. _Genericلا تُعتبر ميزة C11 جزءًا من المعالج المسبق، لذا لم يتمّ تفعيلها بعد. أتوقع أن تعمل هذه الميزة، عند تفعيلها، بشكل مستقلّ عن استخدام منطق المعالج المسبق التقليدي أو المُحدّث.

_Genericتم تقديم الدعم لشركة MSVC اعتبارًا من فبراير 2020. [ 71 ]

في سبتمبر 2020، أعلنت مايكروسوفت عن دعم معايير C11 وC17 في MSVC بدءًا من الإصدار 16.8. [ 72 ] لم يتضمن هذا الإصدار ميزات اختيارية، لكن مايكروسوفت أشارت إلى أنها تخطط لإضافة دعم للعمليات الذرية والخيوط لاحقًا. في الإصدار 17.5، أُضيف دعم جزئي (نظرًا لعدم وجود أقفال ذرية ) وتجريبي (أي مخفي خلف علامة المُصرّف ) للعمليات الذرية. [ 73 ] وفي الإصدار 17.8، أُضيف دعم الخيوط، وهذه المرة دون الحاجة إلى علامة مُصرّف. [ 74 ] [ 75 ]/experimental:c11atomics

لغة سي++

لا يقوم MSVC، بالإعدادات الافتراضية، بالبحث عن الأسماء على مرحلتين، مما يمنعه من الإبلاغ عن نطاق واسع من التعليمات البرمجية غير الصالحة. تُؤجل معظم عمليات التحقق إلى مرحلة إنشاء القوالب. تُعالج الإصدارات الأحدث هذا السلوك، ولكن يجب تفعيلها عبر خيار سطر الأوامر /permissive-. [ 76 ]

استقبال

وصفت مجلة BYTE في فبراير 1989 دعم Microsoft C 5.1 لنظام التشغيل OS/2، وبرنامج QuickC للتطوير التفاعلي، ومصحح الأخطاء CodeView، بأنها "ممتازة" . وعلى الرغم من أن Watcom C أنتجت شفرة أسرع قليلاً، إلا أن المجلة أشارت إلى أن المطورين "قد يفضلون أدوات Microsoft الأسهل استخدامًا والأكثر قوة". [ 77 ]

مراجع

  1. 1 2 "Visual C++ يضيف دعمًا لنظام التشغيل Windows" . InfoWorld . 22 فبراير 1993. ص  17.
  2. "أحدث التنزيلات المدعومة لحزمة Microsoft Visual C++ القابلة لإعادة التوزيع" . Microsoft Learn . تم الاطلاع عليه في 15 يونيو 2026 .
  3. ليكستري، فينسنت (يناير 2010). "منارة لغات البرمجة، الإصدار 10.0" . تم الاطلاع عليه بتاريخ 14 مارس 2010 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  4. "هل أحتاج إلى هذه الحزم القابلة لإعادة التوزيع من مايكروسوفت فيجوال سي++؟" . اسأل ليو! تم الاطلاع عليه بتاريخ 18-11-2012.
  5. لغة الحاسوب - العدد 06 (1985-02) (منشورات سي إل) (الولايات المتحدة الأمريكية) . فبراير 1985.
  6. ليبسون، ستيف (1985-02-01). "مراجعات البرامج: فريق من الخبراء يحلل 21 مترجمًا للغة سي" . لغة الحاسوب . تم الاسترجاع في 2020-06-05 .
  7. لاد، سكوت روبرت (1 أغسطس 1990). "التحسين باستخدام مايكروسوفت سي 6.0" . مجلة دكتور دوبز . مؤرشف من الأصل في 3 يوليو 2023.
  8. مايرز، بن (1992-07-01). "مايكروسوفت سي/سي++" . مجلة بي سي . زيف ديفيس . ص 387. تاريخ الاسترجاع: 2023-12-21 . 
  9. "الإعلان عن خطة تطوير الأخبار/البرمجيات" . إنفوورلد . مجموعة إنفوورلد الإعلامية. 15 مارس 1993. تاريخ الاسترجاع: 21 ديسمبر 2023 .
  10. تم استرجاعها من http://support.microsoft.com/kb/196831 .
  11. 1 2 "Visual C++ أداة تطوير قوية" . InfoWorld . 21-06-1993. ص 94. تم الاطلاع عليه بتاريخ 07-04-2025 . 
  12. "ظهور مُوسِّعات DOS المنافسة لأول مرة في المعرض" . InfoWorld . 1 مارس 1993. ص 18. 
  13. "Visual C++ 1.5 يدمج OLE وODBC" . InfoWorld . 8 نوفمبر 1993. ص 5. 
  14. "مايكروسوفت تستعد لإصدار تجريبي لـ Visual C++ بنظام 32 بت" . إنفوورلد . 19 يوليو 1993. ص 12. 
  15. "تطور بيئات التطوير المتكاملة للغة C++" . إنفوورلد . 4 أبريل 1994. ص 79. 
  16. "استراتيجية مايكروسوفت فيجوال سي++" .
  17. 1 2 كولينز، شين؛ بلاكويل، كين (1995). تطوير تطبيقات متعددة المنصات باستخدام Visual C++ . كتب إم آند تي. ISBN 1-55851-428-7تم الاطلاع عليه بتاريخ 27 يناير 2024 .
  18. بلاموندون، جيمس (9 أكتوبر 1997). "الجدول الزمني العام للتبشير" (ملف PDF) . شركة مايكروسوفت. مؤرشف من الأصل (ملف PDF) بتاريخ 2 فبراير 2007. تم الاطلاع عليه بتاريخ 27 يناير 2024 .
  19. 1 2 "المنتجات القديمة" . مؤرشف من الأصل بتاريخ 14-08-2005.
  20. توث، فيكتور (1996). "1" . إطلاق العنان لـ Visual C++ 4.0 . إنديانابوليس: دار نشر SAMS . ISBN 9780672308741تم الاطلاع عليه بتاريخ 26 يوليو 2013 .
  21. "تاريخ برنامج Visual Studio (الجزء 3)" . 6 أغسطس 2021.
  22. "التغييرات الرئيسية من Visual C++ 4.0 إلى 4.2" . مؤرشف من الأصل بتاريخ 28 فبراير 2010. تم الاطلاع عليه بتاريخ 18 أبريل 2018 .
  23. "التغييرات الرئيسية من Visual C++ 4.2 إلى 5.0" .
  24. "Microsoft Visual C++ 5.0 Learning Edition" . مايكروسوفت . مؤرشف من الأصل في 27 أبريل 1999.
  25. "Microsoft Visual C++ 5.0 Professional Edition" . مايكروسوفت . مؤرشف من الأصل في 27 أبريل 1999.
  26. "Microsoft Visual C++ 5.0 Enterprise Edition" . مايكروسوفت . مؤرشف من الأصل في 17 أبريل 1999.
  27. "Microsoft Visual C++ 5.0 RISC Edition" . مايكروسوفت . مؤرشف من الأصل في 29 أبريل 1999.
  28. شيلدز، ناثان ب. (8 يونيو 2018). "شكوى جنائية" . وزارة العدل الأمريكية . ص 128. هذا وحده ليس رابطًا حاسمًا، حيث لا يزال Visual C++ 6.0، الذي صدر عام 1998، يحظى بمؤيدين، ويرجع ذلك أساسًا إلى أنه لا يتطلب تثبيت إطار عمل .NET من مايكروسوفت لتشغيله، كما هو الحال في الإصدارات اللاحقة من Visual C++. 
  29. "التغييرات الرئيسية من Visual C++ 5.0 إلى 6.0" . مؤرشف من الأصل في 14 سبتمبر 2008.
  30. تؤكد هذه الصفحة على ضرورة أن يكون المستخدمون يستخدمون نظام التشغيل Windows 98 أو Windows NT 4.0 أو Windows 2000. تم استرجاعها من http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx .
  31. دوغلاس بولينغ : برمجة مايكروسوفت ويندوز سي إي دوت نت، الطبعة الثالثة، مطبعة مايكروسوفت؛ الطبعة الثالثة (25 يونيو 2003)، غلاف ورقي: 1264 صفحة، رقم ISBN 978-0735618848قرص مضغوط مرفق مع حزمة الخدمة الثانية لبرنامج Microsoft eMbedded Visual C++ 4.0. تم إيقاف الرابط ، وتمت أرشفته بتاريخ 11 فبراير 2013 على archive.today.
  32. كيفية تعديل WINVER و _WIN32_WINNT
  33. تغييرات جذرية
  34. منصات ويندوز (CRT)
  35. "التغييرات الجذرية في Visual C++ 2008" . 25 مايو 2023.
  36. مدونة فريق Visual C++. "IntelliSense، الجزء 2: المستقبل" . تم الاطلاع عليه بتاريخ 12 مارس 2008 .
  37. "لماذا لا يتم دعم IntelliSense للغة C++/CLI في Visual Studio 2010" . تم الاطلاع عليه بتاريخ 13 مارس 2011 .
  38. مدونة فريق Visual C++ (27 مايو 2009). "إعادة بناء Intellisense" .
  39. مدونة فريق Visual C++. "توليد كود Visual C++ في Visual Studio 2010" .
  40. "ميزات لغة C++0x الأساسية في VC10: الجدول" .
  41. "ستيفان تي. لافافيج: كل ما أردت معرفته عن nullptr" .
  42. مدونة Microsoft Windows SDK. "تم الإصدار: Windows SDK لنظام التشغيل Windows 7 و .NET Framework 4" .
  43. إصلاح: تتم إزالة مُجمِّعات Visual C++ عند ترقية Visual Studio 2010 Professional أو Visual Studio 2010 Express إلى Visual Studio 2010 SP1 في حال تثبيت Windows SDK الإصدار 7.1
  44. "ما الجديد في Visual C++ في Visual Studio 2012" . شبكة مطوري مايكروسوفت . مايكروسوفت. 29 نوفمبر 2012. تم الاطلاع عليه في 20 سبتمبر 2015 .
  45. "ما الجديد في Visual C++ في Visual Studio 2013" . شبكة مطوري مايكروسوفت . مايكروسوفت. 28 أبريل 2015. تم الاطلاع عليه في 20 سبتمبر 2015 .
  46. إريك باتاليو (20 يوليو 2015). "إصدار Visual Studio 2015 RTM متوفر الآن" . مدونة فريق Visual C++ . مايكروسوفت.
  47. ستيفان ت. لافافيج (19 يونيو 2015). "ميزات C++11/14/17 في VS 2015 RTM" . مدونة فريق Visual C++ . مايكروسوفت.
  48. مراجعة خاصية الإدراج التلقائي لبيانات القياس عن بُعد في ملفات C++ الثنائية من مايكروسوفت
  49. "هل يُضيف Visual Studio استدعاءات وظائف القياس عن بُعد إلى الملفات الثنائية؟ • /r/cpp" . reddit . 7 مايو 2016. تم الاطلاع عليه بتاريخ 17 أغسطس 2016 .
  50. جوليا ليوسون (7 مارس 2017). "الإعلان عن التوفر العام لـ Visual Studio 2017... والمزيد" . مدونة فريق Visual Studio . مايكروسوفت.
  51. جون مونتغمري (2 أبريل 2019). "Visual Studio 2019: اكتب الكود بشكل أسرع. اعمل بذكاء. اصنع المستقبل" . مدونة فريق Visual Studio . مايكروسوفت.
  52. أماندا سيلفر (8 نوفمبر 2021). "Visual Studio 2022 متوفر الآن" . مدونة فريق Visual Studio . مايكروسوفت.
  53. مارك داوني (21 مايو 2024). "Visual Studio 2022 17.10 وGitHub Copilot: شريكك في البرمجة لتطوير أسرع وأكثر ذكاءً" . مدونة فريق Visual Studio . مايكروسوفت.
  54. مادز كريستنسن (11 نوفمبر 2025). "Visual Studio 2026 متوفر الآن: أسرع، وأكثر ذكاءً، وحقق نجاحًا كبيرًا لدى المستخدمين الأوائل" . مدونة فريق Visual Studio . مايكروسوفت.
  55. "وحدات الماكرو المُعرَّفة مسبقًا للمُترجم / ويكي / المُترجمات" . dev.to. 22 مايو 2018. تم الاسترجاع في 20 فبراير 2023 .
  56. "وحدات الماكرو المُعرّفة مسبقًا / مايكروسوفت ليرن" . learn.microsoft.com . 8 أغسطس 2022. تم الاطلاع عليه بتاريخ 26 مايو 2023 .
  57. مايكروسوفت MSDN: تغييرات جذرية في Visual C++
  58. مايكروسوفت MSDN: الحاويات (لغة C++ الحديثة)
  59. مايكروسوفت MSDN: قابلية النقل عند حدود واجهة التطبيق الثنائية (لغة C++ الحديثة)
  60. منتدى مايكروسوفت: التوافق الثنائي بين إصدارات Visual C++ ( رابط قديم مؤرشف بتاريخ 16 فبراير 2013 على archive.today)
  61. docs.microsoft.com: توافق ثنائي C++ بين Visual Studio 2015 و2017 و2019
  62. 1 2 C مكتبات وقت التشغيل
  63. "التوافق" . مايكروسوفت: ميزات مكتبة CRT . 26 أكتوبر 2022.
  64. "دعم C99" . مايكروسوفت كونكت . مؤرشف من الأصل بتاريخ 2016-03-04 . تم الاطلاع عليه بتاريخ 2015-09-21 .
  65. "ما الجديد في Visual C++ في Visual Studio 2013" . شبكة مطوري مايكروسوفت . مايكروسوفت. 28 أبريل 2015.
  66. بات برينر (19 يوليو 2013). "دعم مكتبة C99 في Visual Studio 2013" . مدونة فريق Visual C++ . مايكروسوفت.
  67. "ما الجديد في Visual C++ في Visual Studio 2015" . شبكة مطوري مايكروسوفت . مايكروسوفت. 3 يناير 2018.
  68. "شرح تفصيلي: تجميع برنامج C من سطر الأوامر" . وثائق Visual C++ . مايكروسوفت. 10 مايو 2022.
  69. "لا يدعم MSVC 2017 _Generic (وحدات الماكرو العامة للأنواع) في لغة C" .
  70. لوفسانبات، بات-أولزي (6 يوليو 2018). "تقدم معالج MSVC المسبق نحو التوافق" . مدونة فريق Visual Studio . مايكروسوفت. مؤرشف من الأصل في 3 مارس 2014.
  71. "ميزات وإصلاحات C++20" . ريديت . 3 يوليو 2020.
  72. "وصول الدعم القياسي لـ C11 و C17 إلى MSVC" . 14 سبتمبر 2020.
  73. "C11 Atomics في Visual Studio 2022 الإصدار 17.5 معاينة 2" . 13-12-2022.
  74. "C11 Threads in Visual Studio 2022 version 17.8 Preview 2" . 2023-09-26.
  75. مورفي، أدريان (14 نوفمبر 2023). "Visual Studio 17.8 متوفر الآن!" . مدونة Visual Studio . تم ​​الاطلاع بتاريخ 12 يناير 2024 .
  76. "دعم البحث عن الأسماء على مرحلتين يصل إلى MSVC" . 2017-09-11.
  77. أبيكي، ستيفن؛ أوديل، جون (فبراير 1989). " تنعيم C" . بايت . ص 170-186 . تم الاسترجاع في 2024-10-08 . 

للمزيد من القراءة