Visual C++

From Wikipedia, the free encyclopedia - View original article

Visual C++
The logo of Visual C++ 2010 Express Edition
Developer(s)Microsoft Corporation
Initial releaseFebruary 1993 [1]
Stable releaseVisual C++ 2013 (known also as Visual C++ 12.0; C/C++ compiler version 18.0.21005.1) in Visual Studio 2013 / October 17, 2013
Development statusActive
Written inC++[2]
Operating systemMicrosoft Windows
Platformx86, x86-64 and Itanium
Available inEnglish, French, Japanese, Korean, German, and likely others
TypeIDE
LicenseMS-EULA
WebsiteVisual C++ Developer Center
 
Jump to: navigation, search
Visual C++
The logo of Visual C++ 2010 Express Edition
Developer(s)Microsoft Corporation
Initial releaseFebruary 1993 [1]
Stable releaseVisual C++ 2013 (known also as Visual C++ 12.0; C/C++ compiler version 18.0.21005.1) in Visual Studio 2013 / October 17, 2013
Development statusActive
Written inC++[2]
Operating systemMicrosoft Windows
Platformx86, x86-64 and Itanium
Available inEnglish, French, Japanese, Korean, German, and likely others
TypeIDE
LicenseMS-EULA
WebsiteVisual C++ Developer Center

Microsoft Visual C++ (often abbreviated as MSVC or VC++) is a commercial (free version available), integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages. It features tools for developing and debugging C++ code, especially code written for the Microsoft Windows API, the DirectX API, and the Microsoft .NET Framework.

Many applications require redistributable Visual C++ packages to function correctly. These packages are often installed independently of applications, allowing multiple applications to make use of the package while only having to install it once. These Visual C++ redistributable and runtime packages are mostly installed for standard libraries that many applications use.[3]

History[edit]

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++ 2013, is on version 18.0.21005.1.

16-bit versions[edit]

32-bit versions[edit]

32-bit and 64-bit versions[edit]

Issues[edit]

The Visual C++ compiler ABI have historically changed between major compiler releases.[38] This is especially the case for STL containers, where container sizes have varied a lot between compiler releases.[39] Microsoft therefore recommends against using C++ interfaces at module boundaries when one wants to enable client code compiled using a different compiler version. Instead of C++, Microsoft recommends using C[40] or COM[41] interfaces, that are designed to have a stable ABI between compiler releases.

Visual C++ ships with different versions of C runtime libraries.[42] This means users can compile their code with any of the available libraries. However, this can cause some problems when using different components (DLLs, EXEs) in the same program. A typical example is a program using different libraries. The user should use the same C Run-Time for all the program's components unless the implications are understood. Microsoft recommends using the multithreaded, dynamic link library (/MD or /MDd compiler option) to avoid possible problems.[42]

Although the product originated as an IDE for the C programming language, the compiler's support for that language conforms only to the original edition of the C standard, dating from 1989. The later revisions of the standard, C99 and C11, are not supported.[43] According to Herb Sutter, the C compiler is only included for "historical reasons" and is not planned to be further developed. Users are advised to either use only the subset of the C language that is also valid C++, and then use the C++ compiler to compile their code, or to just use a different compiler such as Intel C++ Compiler or the GNU Compiler Collection instead.[44]

See also[edit]

References[edit]

  1. ^ a b "Visual C++ adds Windows support". InfoWorld. February 22, 1993. p. 17. 
  2. ^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Retrieved 14 March 2010. 
  3. ^ "Do I need these Microsoft Visual C++ redistributables?". Ask Leo!. Retrieved 2012-11-18.
  4. ^ Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0". 
  5. ^ Retrieved from http://support.microsoft.com/kb/196831.
  6. ^ a b "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94. 
  7. ^ "Rival DOS Extenders debut at show". InfoWorld. March 1, 1993. p. 18. 
  8. ^ "Visual C++ 1.5 integrates OLE, ODBC". InfoWorld. November 8, 1993. p. 5. 
  9. ^ "Microsoft set to prerelease 32-bit Visual C++". InfoWorld. July 19, 1993. p. 12. 
  10. ^ "C++ IDEs evolve". InfoWorld. April 4, 1994. p. 79. 
  11. ^ "Microsoft Visual C++ Strategy". 
  12. ^ a b "Obsolete Products". 
  13. ^ Toth, Viktor (1996). "1". Visual C++ 4.0 unleashed. Indianapolis: SAMS Publishing. ISBN 9780672308741. Retrieved 26 July 2013. 
  14. ^ "History of Visual Studio (Part 3)". 
  15. ^ "Major Changes from Visual C++ 4.0 to 4.2". 
  16. ^ "Major Changes from Visual C++ 4.2 to 5.0". 
  17. ^ "Microsoft Visual C++ 5.0 Learning Edition". Archived from the original on April 27, 1999. 
  18. ^ "Microsoft Visual C++ 5.0 Professional Edition". Archived from the original on April 27, 1999. 
  19. ^ "Microsoft Visual C++ 5.0 Enterprise Edition". Archived from the original on April 17, 1999. 
  20. ^ "Microsoft Visual C++ 5.0 RISC Edition". Archived from the original on April 29, 1999. 
  21. ^ "Major Changes from Visual C++ 5.0 to 6.0". 
  22. ^ 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.
  23. ^ Douglas Boling :Programming Microsoft Windows CE .NET, Third Edition Microsoft Press; 3rd edition (June 25, 2003) Paperback: 1264 pages ISBN 978-0735618848 - Companion CD with Microsoft eMbedded Visual C++ 4.0 Service Pack 2
  24. ^ How to: Modify WINVER and _WIN32_WINNT
  25. ^ Breaking Changes
  26. ^ Windows Platforms (CRT)
  27. ^ "Visual C++ 2008 Breaking Changes". 
  28. ^ Visual C++ Team Blog. "IntelliSense, part 2: The Future". Retrieved March 12, 2008. 
  29. ^ "Why IntelliSense is not supported for C++/CLI in Visual Studio 2010". Retrieved March 13, 2011. 
  30. ^ Visual C++ Team Blog. "Rebuilding Intellisense". 
  31. ^ Visual C++ Team Blog. "Visual C++ Code Generation in Visual Studio 2010". 
  32. ^ "C++0x Core Language Features In VC10: The Table". 
  33. ^ "Stephan T. Lavavej: Everything you ever wanted to know about nullptr". 
  34. ^ Microsoft Windows SDK Blog. "Released: Windows SDK for Windows 7 and .NET Framework 4". 
  35. ^ 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
  36. ^ What's New for Visual C++ in Visual Studio 2012
  37. ^ "What's New for Visual C++ in Visual Studio 2013". microsoft.com. Microsoft Developer Network. Retrieved 23 October 2013. 
  38. ^ Microsoft MSDN: Breaking Changes in Visual C++
  39. ^ Microsoft MSDN: C++11 Features (Modern C++)
  40. ^ Microsoft MSDN: Portability At ABI Boundaries (Modern C++)
  41. ^ Microsoft forum: Binary compatibility across Visual C++ versions
  42. ^ a b C Run-Time Libraries
  43. ^ http://connect.microsoft.com/VisualStudio/feedback/details/485416/support-c99
  44. ^ http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/

External links[edit]