Visual C++

From Wikipedia, the free encyclopedia - View original article

Visual C++
Visual C++ Icon.png
Developer(s)Microsoft
Initial releaseFebruary 1993; 21 years ago (1993-02)[1]
Stable release2013 / August 17, 2013; 14 months ago (2013-08-17)
Written inC++[2]
Operating systemWindows
PlatformIA-32, x86-64 and Itanium 2
Available inEnglish, Chinese, French, Japanese, Korean, German, and likely others
TypeIDE
LicenseTrialware
Websitemsdn.microsoft.com/en-us/vstudio/hh386302.aspx
 
Jump to: navigation, search
Due to technical restrictions, "Visual C#" redirects here. For that software product, see Microsoft Visual C Sharp.
Visual C++
Visual C++ Icon.png
Developer(s)Microsoft
Initial releaseFebruary 1993; 21 years ago (1993-02)[1]
Stable release2013 / August 17, 2013; 14 months ago (2013-08-17)
Written inC++[2]
Operating systemWindows
PlatformIA-32, x86-64 and Itanium 2
Available inEnglish, Chinese, French, Japanese, Korean, German, and likely others
TypeIDE
LicenseTrialware
Websitemsdn.microsoft.com/en-us/vstudio/hh386302.aspx

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]

Compatibility[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, for many years the compiler's support for that language conformed only to the original edition of the C standard, dating from 1989. The later revisions of the standard, C99 and C11, were not supported at all[43] until Visual C++ 2012, which added support for various C99 features in its C mode (including designated initializers, compound literals, and the _Bool type). Visual C++ 2013 significantly improved the C99 support, though it is still not complete.[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: Containers (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://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx

External links[edit]