有什么方法可以知道我是否在特定的 Microsoft Visual Studio 版本下编译?
Is there any way to know if I'm compiling under a specific Microsoft Visual Studio version?
_MSC_VER 和可能 _MSC_FULL_VER 正是您所需要的.您还可以检查 visualc.hpp一些使用示例的最近 boost 安装.
_MSC_VER and possibly _MSC_FULL_VER is what you need. You can also examine visualc.hpp in any recent boost install for some usage examples.
最新版本的编译器的一些值是:
Some values for the more recent versions of the compiler are:
MSVC++ 14.24 _MSC_VER == 1924 (Visual Studio 2019 version 16.4)
MSVC++ 14.23 _MSC_VER == 1923 (Visual Studio 2019 version 16.3)
MSVC++ 14.22 _MSC_VER == 1922 (Visual Studio 2019 version 16.2)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 version 16.1)
MSVC++ 14.2 _MSC_VER == 1920 (Visual Studio 2019 version 16.0)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 9.0 _MSC_FULL_VER == 150030729 (Visual Studio 2008, SP1)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)
上面的版本号当然是指您在关于框中看到的 Visual Studio 的主要版本,而不是名称中的年份.可以在此处找到完整列表.最近开始,Visual Studio 将开始单调更新其范围,这意味着您应该检查范围,而不是确切的编译器值.
The version number above of course refers to the major version of your Visual studio you see in the about box, not to the year in the name. A thorough list can be found here. Starting recently, Visual Studio will start updating its ranges monotonically, meaning you should check ranges, rather than exact compiler values.
cl.exe/? 会提示使用的版本,例如:
cl.exe /? will give a hint of the used version, e.g.:
c:program files (x86)microsoft visual studio 11.0vcin>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.50727.1 for x86
.....
这篇关于如何检测我是否正在使用特定的 Visual Studio 版本编译代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何在 Visual Studio 2008 中为我的应用程序设置图标How do I set the icon for my application in visual studio 2008?(如何在 Visual Studio 2008 中为我的应用程序设置图标?)
将 CString 转换为 const char*Convert CString to const char*(将 CString 转换为 const char*)
默认情况下,在 Visual Studio 中从项目中删除安全Remove secure warnings (_CRT_SECURE_NO_WARNINGS) from projects by default in Visual Studio(默认情况下,在 Visual Studio 中从项目中删除安全
如何在 Visual Studio 2008 中启动新的 CUDA 项目?How do I start a new CUDA project in Visual Studio 2008?(如何在 Visual Studio 2008 中启动新的 CUDA 项目?)
从 DLL 导出包含 `std::` 对象(向量、映射等)的类Exporting classes containing `std::` objects (vector, map etc.) from a DLL(从 DLL 导出包含 `std::` 对象(向量、映射等)的类)
发布版本与调试版本的运行方式不同的一些原因What are some reasons a Release build would run differently than a Debug build(发布版本与调试版本的运行方式不同的一些原因是什么