词条 | Microsoft Visual C++ |
释义 |
| name = Visual C++ | logo = Visual C++ Icon.png | developer = Microsoft | released = {{Start date and age|1993|02}}[1] | latest release version = 14.16.27012.6 | latest release date = {{Start date and age|2018|11|15}} | programming language = C++[2] | operating system = Windows | platform = IA-32, x86-64 and ARM | language = English, Chinese (Simplified & Traditional), Czech, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazilian), Russian, Spanish, Turkish | genre = IDE | license = Trialware and freeware | website = {{URL|https://docs.microsoft.com/en-us/cpp/}} }} Microsoft Visual C++ (often abbreviated to MSVC) is an integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages. 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 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] HistoryThe 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 19.00.23918. 16-bit versions
Strictly 32-bit versions
32-bit and 64-bit versions
Internal version numberingThe predefined macro From Visual Studio 2017, Here are values of MSC 1.0 _MSC_VER == 100 MSC 2.0 _MSC_VER == 200 MSC 3.0 _MSC_VER == 300 MSC 4.0 _MSC_VER == 400 MSC 5.0 _MSC_VER == 500 MSC 6.0 _MSC_VER == 600 MSC 7.0 _MSC_VER == 700 MSVC++ 1.0 _MSC_VER == 800 MSVC++ 2.0 _MSC_VER == 900 MSVC++ 4.0 _MSC_VER == 1000 (Developer Studio 4.0) MSVC++ 4.2 _MSC_VER == 1020 (Developer Studio 4.2) MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0) MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0) MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0) MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1) MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0) MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0) MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0) MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0) MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0) MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0) MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0) MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3) MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5) MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6) MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7) MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8) MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9) These version numbers refer to the major version number of the Visual C++ compilers and libraries, as can be seen from the installation directories. It does not refer to the year in the name of the Visual Studio release. A thorough list is available.[43] CompatibilityABIThe Visual C++ compiler ABI have historically changed between major compiler releases.[44] This is especially the case for STL containers, where container sizes have varied a lot between compiler releases.[45] 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[46] or COM[47] interfaces, which are designed to have a stable ABI between compiler releases. C runtime librariesVisual C++ ships with different versions of C runtime libraries.[48] 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.[48] CAlthough 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, but not the C99 revision of the standard. There had been no plans to support C99 even in 2011, more than a decade after its publication[49]. Visual C++ 2013 finally added support for various C99 features in its C mode (including designated initializers, compound literals, and the Most of the changes from the C11 revision of the standard are still not supported by Visual C++ 2017[53]. For example, generic selections via the "Full C11 conformance is on our roadmap, and updating the preprocessor is just the first step in that process. The C11 _Generic feature is not actually part of the preprocessor, so it has not yet been implemented. When implemented I expect the feature to work independent of if the traditional or updated preprocessor logic is used."[55] References1. ^1 {{cite news |title = Visual C++ adds Windows support |newspaper = InfoWorld |date = February 22, 1993 |page = 17 |url = https://books.google.com/books?id=vjsEAAAAMBAJ }} 2. ^{{cite web|url=http://www.lextrait.com/Vincent/implementations.html |title=The Programming Languages Beacon, v10.0 |first=Vincent |last=Lextrait |date=January 2010 |accessdate=14 March 2010 |deadurl=yes |archiveurl=https://archive.is/20120530/http://www.lextrait.com/Vincent/1implementations.html |archivedate=30 May 2012 |df= }} 3. ^"Do I need these Microsoft Visual C++ redistributables?". Ask Leo!. Retrieved 2012-11-18. 4. ^{{cite web | title = Optimizing With Microsoft C 6.0 | date = August 1, 1990 | url = http://www.drdobbs.com/windows/optimizing-with-microsoft-c-60/184408398 | first = Scott Robert | last = Ladd }} 5. ^Retrieved from http://support.microsoft.com/kb/196831. 6. ^1 {{cite news | title = Visual C++ is a strong development tool | newspaper = InfoWorld | date = June 21, 1993 | page = 94 | url = https://books.google.com/books?id=OjsEAAAAMBAJ }} 7. ^{{cite news | title = Rival DOS Extenders debut at show | newspaper = InfoWorld | date = March 1, 1993 | page = 18 | url = https://books.google.com/books?id=fzwEAAAAMBAJ }} 8. ^{{cite news | title = Visual C++ 1.5 integrates OLE, ODBC | newspaper = InfoWorld | date = November 8, 1993 | page = 5 | url = https://books.google.com/books?id=8ToEAAAAMBAJ }} 9. ^{{cite news | title = Microsoft set to prerelease 32-bit Visual C++ | newspaper = InfoWorld | date = July 19, 1993 | page = 12 | url = https://books.google.com/books?id=mTsEAAAAMBAJ }} 10. ^{{cite news | title = C++ IDEs evolve | newspaper = InfoWorld | date = April 4, 1994 | page = 79 | url = https://books.google.com/books?id=FTsEAAAAMBAJ }} 11. ^{{cite web|url=http://accu.org/index.php/journals/1771|title=Microsoft Visual C++ Strategy}} 12. ^1 {{cite web|url=http://support.microsoft.com/gp/lifeobsoleteproducts |title=Obsolete Products |deadurl=yes |archiveurl=https://web.archive.org/web/20050814234847/http://support.microsoft.com/gp/lifeobsoleteproducts |archivedate=2005-08-14 |df= }} 13. ^{{cite book |last=Toth |first=Viktor |title=Visual C++ 4.0 unleashed |url=https://books.google.com/?id=93o_AQAAIAAJ&q=visual+c%2B%2B+4.0+unleashed&dq=visual+c%2B%2B+4.0+unleashed |accessdate=26 July 2013 |year=1996 |publisher=SAMS Publishing |location=Indianapolis |isbn= 9780672308741 |chapter=1 |chapterurl=http://doc.sumy.ua/prog/unleash4/vcu01fi.htm}} 14. ^{{cite web|url=http://blogs.msdn.com/ricom/archive/2009/10/07/my-history-of-visual-studio-part-3.aspx|title=History of Visual Studio (Part 3)}} 15. ^{{cite web|url=http://msdn.microsoft.com/en-us/library/aa697418(VS.71).aspx|title=Major Changes from Visual C++ 4.0 to 4.2 |access-date=2018-04-18 |archive-url=https://web.archive.org/web/20100228175137/http://msdn.microsoft.com/en-us/library/aa697418(VS.71).aspx |archive-date=2010-02-28}} 16. ^{{cite web|url=http://msdn.microsoft.com/en-us/library/aa697419(VS.71).aspx|title=Major Changes from Visual C++ 4.2 to 5.0}} 17. ^{{cite web|url=http://www.microsoft.com/products/prodref/199_ov.htm|title=Microsoft Visual C++ 5.0 Learning Edition|archiveurl=https://web.archive.org/web/19990427114135/http://www.microsoft.com/products/prodref/199_ov.htm|archivedate=April 27, 1999}} 18. ^{{cite web|url=http://www.microsoft.com/products/prodref/197_ov.htm|title=Microsoft Visual C++ 5.0 Professional Edition|archiveurl=https://web.archive.org/web/19990427101205/http://www.microsoft.com/products/prodref/197_ov.htm|archivedate=April 27, 1999}} 19. ^{{cite web|url=http://www.microsoft.com/products/prodref/198_ov.htm|title=Microsoft Visual C++ 5.0 Enterprise Edition|archiveurl=https://web.archive.org/web/19990417134138/http://www.microsoft.com/products/prodref/198_ov.htm|archivedate=April 17, 1999}} 20. ^{{cite web|url=http://www.microsoft.com/products/prodref/501_ov.htm|title=Microsoft Visual C++ 5.0 RISC Edition|archiveurl=https://web.archive.org/web/19990429121236/http://www.microsoft.com/products/prodref/501_ov.htm|archivedate=April 29, 1999}} 21. ^{{cite news |url=https://www.justice.gov/opa/press-release/file/1092091/download |title=Criminal Complaint |date=June 8, 2018 |first=Nathan P. |last=Shields |publisher=United States Department of Justice |page=128 |quote=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.}} 22. ^{{cite web|url=http://msdn.microsoft.com/en-us/library/aa729389(VS.71).aspx|title=Major Changes from Visual C++ 5.0 to 6.0}} 23. ^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. 24. ^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 {{webarchive|url=https://archive.is/20130211131045/http://examples.oreilly.de/english_examples/9780735618848/cd_contents/Readme.txt |date=2013-02-11 }} 25. ^How to: Modify WINVER and _WIN32_WINNT 26. ^Breaking Changes 27. ^Windows Platforms (CRT) 28. ^{{cite web|url=http://msdn.microsoft.com/en-us/library/bb531344.aspx?ppud=4|title=Visual C++ 2008 Breaking Changes}} 29. ^{{cite web | title = IntelliSense, part 2: The Future | url = http://blogs.msdn.com/vcblog/archive/2008/02/29/intellisense-part-2-the-future.aspx | author = Visual C++ Team Blog | accessdate =March 12, 2008}} 30. ^{{cite web | url = http://blogs.msdn.com/b/vcblog/archive/2011/03/03/10136696.aspx | title = Why IntelliSense is not supported for C++/CLI in Visual Studio 2010 | accessdate =March 13, 2011}} 31. ^{{cite web | title = Rebuilding Intellisense | url = http://blogs.msdn.com/b/vcblog/archive/2009/05/27/rebuilding-intellisense.aspx | author = Visual C++ Team Blog }} 32. ^{{cite web | title = Visual C++ Code Generation in Visual Studio 2010 | url = http://blogs.msdn.com/vcblog/archive/2009/11/02/visual-c-code-generation-in-visual-studio-2010.aspx | author = Visual C++ Team Blog}} 33. ^{{cite web | url = http://blogs.msdn.com/vcblog/archive/2010/04/06/c-0x-core-language-features-in-vc10-the-table.aspx | title = C++0x Core Language Features In VC10: The Table}} 34. ^{{cite web | title = Stephan T. Lavavej: Everything you ever wanted to know about nullptr | url = http://channel9.msdn.com/shows/Going+Deep/Stephan-T-Lavavej-Everything-you-ever-wanted-to-know-about-nullptr/}} 35. ^{{cite web | title = Released: Windows SDK for Windows 7 and .NET Framework 4 | url = http://blogs.msdn.com/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx | author = Microsoft Windows SDK Blog}} 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. ^{{cite web |url=https://msdn.microsoft.com/en-us/library/vstudio/hh409293(v=vs.110).aspx |title=What's New for Visual C++ in Visual Studio 2012 |author= |publisher=Microsoft |work=Microsoft Developer Network |accessdate=September 20, 2015}} 38. ^{{cite web |url=https://msdn.microsoft.com/en-us/library/vstudio/hh409293(v=vs.120).aspx |title=What's New for Visual C++ in Visual Studio 2013 |author= |publisher=Miicrosoft |work=Microsoft Developer Network |accessdate=September 20, 2015}} 39. ^{{cite web|url=http://blogs.msdn.com/b/vcblog/archive/2015/07/20/visual-studio-2015-rtm-now-available.aspx|title=Visual Studio 2015 RTM Now Available|author=Eric Battalio|date=July 20, 2015|publisher=Microsoft|work=Visual C++ Team Blog}} 40. ^{{cite web|url=http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx|title=C++11/14/17 Features In VS 2015 RTM|author=Stephan T. Lavavej|date=June 19, 2015|publisher=Microsoft|work=Visual C++ Team Blog}} 41. ^[https://www.infoq.com/news/2016/06/visual-cpp-telemetry Reviewing Microsoft's Automatic Insertion of Telemetry into C++ Binaries] 42. ^{{Cite web|url=https://www.reddit.com/r/cpp/comments/4ibauu/visual_studio_adding_telemetry_function_calls_to/d30dmvu|title=Visual Studio adding telemetry function calls to binary? • /r/cpp|website=reddit|access-date=2016-08-17}} 43. ^{{Cite web|title = Pre-defined Compiler Macros / Wiki / Compilers|url = https://sourceforge.net/p/predef/wiki/Compilers/#microsoft-visual-c|website = sourceforge.net|access-date = 2016-02-11}} 44. ^Microsoft MSDN: Breaking Changes in Visual C++ 45. ^Microsoft MSDN: Containers (Modern C++) 46. ^Microsoft MSDN: Portability At ABI Boundaries (Modern C++) 47. ^Microsoft forum: Binary compatibility across Visual C++ versions 48. ^1 C Run-Time Libraries 49. ^{{cite web|url=https://connect.microsoft.com/VisualStudio/feedback/details/653336/c99-support|title=C99 support|work=Microsoft Connect|archive-url=https://web.archive.org/web/20160304185822/connect.microsoft.com/VisualStudio/feedback/details/653336/c99-support|archive-date=2016-03-04|dead-url=yes}} 50. ^{{cite web|title=What's New for Visual C++ in Visual Studio 2013|url=https://msdn.microsoft.com/en-us/library/hh409293(v=vs.120).aspx|work=Microsoft Developer Network|publisher=Microsoft}} 51. ^{{cite web|url=http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx|title=C99 library support in Visual Studio 2013|author=Pat Brenner|date=July 19, 2013|publisher=Microsoft|work=Visual C++ Team Blog}} 52. ^{{cite web|url=https://msdn.microsoft.com/en-us/library/hh409293(v=vs.140).aspx|title=What's New for Visual C++ in Visual Studio 2015|work=Microsoft Developer Network|publisher=Microsoft}} 53. ^{{cite web|url=https://docs.microsoft.com/en-us/cpp/build/walkthrough-compile-a-c-program-on-the-command-line|title=Walkthrough: Compile a C program on the command line|work=Visual C++ Documentation|publisher=Microsoft}} 54. ^{{cite web|url=https://developercommunity.visualstudio.com/content/problem/250665/msvc-2017-does-not-support-generic-type-generic-ma.html|title=MSVC 2017 does not support _Generic (type generic macros) in C}} 55. ^{{cite web|url=https://blogs.msdn.microsoft.com/vcblog/2018/07/06/msvc-preprocessor-progress-towards-conformance/ |title=MSVC Preprocessor Progress towards Conformance |date=July 6, 2018 |last=Luvsanbat |first=Bat-Ulzii |website=Microsoft Developer Network}} External links
5 : C compilers|C++ compilers|Integrated development environments|Microsoft development tools|Microsoft Visual Studio |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。