Microsoft C++ (MSVC) 編譯器版本包含四個欄位:
M - 主要版本 (兩位數)
N - 次要版本 (兩位數)
B - 組建版本 (五位數)
R - 修訂版本
Microsoft特定編譯程式巨集編碼這些字段,如下所示:
_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBB
_MSC_BUILD = R
例如,Visual Studio 2022 17.9.0 版的編譯程式版本是 19.39.33519:
- 主要版本為 19
- 次要版本為 39
- 組建版本為 33519
- 修訂版本為 0
巨集會反映這些值,如下所示:
_MSC_VER = 1939_MSC_FULL_VER = 193933519-
_MSC_BUILD(修訂) 為 0。
Note
Visual Studio 2019 16.8 版和 16.9 版共用相同的主要和次要版本,因此具有 _MSC_VER相同的值。 Visual Studio 2019 16.10 和 16.11 版也是如此。 若要區分它們,請使用_MSC_FULL_VER從 Visual Studio 2017 開始的服務版本中所述。
Microsoft C++ 編譯器版本設定的簡史
Visual Studio 6.0 到 Visual Studio 2015 (14.0)
針對主要版本,
_MSC_VER增加100。_MSC_FULL_VER增加 10,000,000。針對次要版本,
_MSC_VER增加10。_MSC_FULL_VER增加 1,000,000。Note
Visual Studio .NET 2003 被視為次要版本。
Visual Studio 2017 至 Visual Studio 2022
- 針對主要版本,次要版本會增加 10。
- 針對次要版本,次要版本從 Visual Studio 2017 15.3 版開始增加 1。
Visual Studio 2026 和更新版本
- 編譯器次要版本不再與 Visual Studio 版本更新相關遞增。
- 次要版本每當有新的 MSVC 版本發佈時就會增長 1。
- 並非每個新的 Visual Studio 版本都會提供新的 MSVC 編譯器版本。
從 Visual Studio 2017 開始的服務版本
服務版本會以 _MSC_FULL_VER來區分。 組建欄位(MMNNBBB 版本號碼中的 BBBBB 通常會增加 1。
例如,兩種有用的案例 _MSC_FULL_VER 是區分 Visual Studio 2019 16.8 版與 16.9,以及 Visual Studio 2019 16.10 版與 16.11。 這是因為這些版本共用相同的主要和次要版本,因此 具有 _MSC_VER相同的值。
若要區分這些版本,請使用 _MSC_FULL_VER。
Visual Studio 2019 16.8 版的最小 _MSC_FULL_VER 值為 192829333。
Visual Studio 2019 16.9 版的最小 _MSC_FULL_VER 值為 192829910。
版本巨集
回想一下,版本號碼包含四個字段:
M - 主要版本 (兩位數)
N - 次要版本 (兩位數)
B - 組建版本 (五位數)
R - 修訂版本
_MSC_VER 區分主要和次要版本。 其格式為:MMNN。
_MSC_FULL_VER 表示編譯程式的主要、次要和組建版本。 其格式為:MMNNBBBBB。 使用它來區分編譯程式的不同版本,包括維護版本。 如需 Visual Studio 2019 16.8、16.9、16.10 和 16.11 版的詳細資訊,請參閱從 Visual Studio 2017 開始的服務版本。
_MSC_BUILD 表示編譯程式的組建版本。 其格式為:R。使用它來區分維護版本。
當 Visual Studio 2013 與 Visual Studio 2015 之間的主要版本變更時, _MSC_VER 會反映從 1800 到 1900 的變更。
次要變更的範例是從 Visual Studio 2022 17.1 版變更至 Visual Studio 2022 17.2 版。 在此情況下, _MSC_VER 從 1931 年變更為 1932 年。
下表列出對應至每個 Microsoft C++ 編譯器 (_MSC_VER) 和 MSVC 建置工具版本的 Visual Studio 版本:
| Visual Studio 版本 | _MSC_VER |
MSVC 建置工具版本 |
|---|---|---|
| Visual Studio 6.0 | 1200 | 6.0 |
| Visual Studio .NET 2002 (7.0) | 1300 | 7.0 |
| Visual Studio .NET 2003 (7.1) | 1310 | 7.1 |
| Visual Studio 2005 (8.0) | 1400 | 8.0 |
| Visual Studio 2008 (9.0) | 1500 | 9.0 |
| Visual Studio 2010 (10.0) | 1600 | 10.0 |
| Visual Studio 2012 (11.0) | 1700 | 11.0 |
| Visual Studio 2013 (12.0) | 1800 | 12.0 |
| Visual Studio 2015 (14.0) | 1900 | 14.0 |
| Visual Studio 2017 RTW (15.0) | 1910 | 14.10 |
| Visual Studio 2017 15.3 版 | 1911 | 14.11 |
| Visual Studio 2017 15.5 版 | 1912 | 14.12 |
| Visual Studio 2017 15.6 版 | 1913 | 14.13 |
| Visual Studio 2017 15.7 版 | 1914 | 14.14 |
| Visual Studio 2017 15.8 版 | 1915 | 14.15 |
| Visual Studio 2017 15.9 版 | 1916 | 14.16 |
| Visual Studio 2019 RTW 16.0 | 1920 | 14.20 |
| Visual Studio 2019 16.1 版 | 1921 | 14.21 |
| Visual Studio 2019 16.2 版 | 1922 | 14.22 |
| Visual Studio 2019 16.3 版 | 1923 | 14.23 |
| Visual Studio 2019 16.4 版 | 1924 | 14.24 |
| Visual Studio 2019 16.5 版 | 1925 | 14.25 |
| Visual Studio 2019 16.6 版 | 1926 | 14.26 |
| Visual Studio 2019 16.7 版 | 1927 | 14.27 |
| Visual Studio 2019 16.8、16.9 版 | 1928 | 14.28 |
| Visual Studio 2019 16.10、16.11 b 版 | 1929 | 14.29 |
| Visual Studio 2022 RTW 17.0 | 1930 | 14.30 |
| Visual Studio 2022 17.1 版 | 1931 | 14.31 |
| Visual Studio 2022 17.2 版 | 1932 | 14.32 |
| Visual Studio 2022 17.3 版 | 1933 | 14.33 |
| Visual Studio 2022 17.4 版 | 1934 | 14.34 |
| Visual Studio 2022 17.5 版 | 1935 | 14.35 |
| Visual Studio 2022 17.6 版 | 1936 | 14.36 |
| Visual Studio 2022 17.7 版 | 1937 | 14.37 |
| Visual Studio 2022 17.8 版 | 1938 | 14.38 |
| Visual Studio 2022 17.9 版 | 1939 | 14.39 |
| Visual Studio 2022 17.10 版 | 1940 | 14.40 |
| Visual Studio 2022 17.11 版 | 1941 | 14.41 |
| Visual Studio 2022 17.12 版 | 1942 | 14.42 |
| Visual Studio 2022 17.13 版 | 1943 | 14.43 |
| Visual Studio 2022 17.14 版 | 1944 | 14.44 |
Visual Studio 2019 16.8 版和 16.9 版共用相同的主要和次要版本,因此 _MSC_VER 的值相同。 若要區分它們,請使用 _MSC_FULL_VER。 Visual Studio 2019 16.8 版的最小 _MSC_FULL_VER 值為 192829333。 Visual Studio 2019 16.9 版的最小 _MSC_FULL_VER 值為 192829910。
b Visual Studio 2019 16.10 版和 16.11 會共用相同的主要和次要版本 (因此具有相同的值 _MSC_VER)。 若要區分它們,請使用 _MSC_FULL_VER。 Visual Studio 2019 16.10 版的最小 _MSC_FULL_VER 值為 192929917。 Visual Studio 2019 16.11 版的最小 _MSC_FULL_VER 值為 192930129。