Microsoft Visual C++ 編譯程式版本控制
Microsoft Visual C++ 編譯程式版本包含四個字段:
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。
注意
Visual Studio 2019 16.8 和 16.9 共用相同的主要和次要版本,因此 對 _MSC_VER
具有相同的值。 Visual Studio 2019 16.10 和 16.11 也一樣。 若要區分它們,請使用_MSC_FULL_VER
從 Visual Studio 2017 開始的服務版本中所述。
Visual 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。注意
Visual Studio .NET 2003 被視為次要版本。
Visual Studio 2017 和更新版本
- 針對主要版本,次要版本會增加 10。
- 針對次要版本,次要版本從 Visual Studio 2017 15.3 版開始增加 1。
從 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 年。
下表列出每個 Visual Studio 版本的 Visual C++ 編譯程式 _MSC_VER
:
Visual Studio 版本 | _MSC_VER |
---|---|
Visual Studio 6.0 | 1200 |
Visual Studio .NET 2002 (7.0) | 1300 |
Visual Studio .NET 2003 (7.1) | 1310 |
Visual Studio 2005 (8.0) | 1400 |
Visual Studio 2008 (9.0) | 1500 |
Visual Studio 2010 (10.0) | 1600 |
Visual Studio 2012 (11.0) | 1700 |
Visual Studio 2013 (12.0) | 1800 |
Visual Studio 2015 (14.0) | 1900 |
Visual Studio 2017 RTW (15.0) | 1910 |
Visual Studio 2017 15.3 版 | 1911 |
Visual Studio 2017 15.5 版 | 1912 |
Visual Studio 2017 15.6 版 | 1913 |
Visual Studio 2017 15.7 版 | 1914 |
Visual Studio 2017 15.8 版 | 1915 |
Visual Studio 2017 15.9 版 | 1916 |
Visual Studio 2019 RTW 16.0 | 1920 |
Visual Studio 2019 16.1 版 | 1921 |
Visual Studio 2019 16.2 版 | 1922 |
Visual Studio 2019 16.3 版 | 1923 |
Visual Studio 2019 16.4 版 | 1924 |
Visual Studio 2019 16.5 版 | 1925 |
Visual Studio 2019 16.6 版 | 1926 |
Visual Studio 2019 16.7 版 | 1927 |
Visual Studio 2019 16.8 版、16.9 a | 1928 |
Visual Studio 2019 16.10 版,16.11 b | 1929 |
Visual Studio 2022 RTW 17.0 | 1930 |
Visual Studio 2022 17.1 版 | 1931 |
Visual Studio 2022 17.2 版 | 1932 |
Visual Studio 2022 17.3 版 | 1933 |
Visual Studio 2022 17.4 版 | 1934 |
Visual Studio 2022 17.5 版 | 1935 |
Visual Studio 2022 17.6 版 | 1936 |
Visual Studio 2022 17.7 版 | 1937 |
Visual Studio 2022 17.8 版 | 1938 |
Visual Studio 2022 17.9 版 | 1939 |
Visual Studio 2022 17.10 版 | 1940 |
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。