Microsoft Visual C++ 컴파일러 버전 관리

Microsoft Visual C++ 컴파일러 버전은 다음 네 개의 필드로 구성됩니다.

M - 주 버전(두 자리 수)
N - 부 버전(두 자리 수)
B - 빌드 버전(5자리 숫자)
R - 수정 버전

Microsoft 관련 컴파일러 매크로는 다음과 같이 이러한 필드를 인코딩합니다.

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_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과 마찬가지로 구분하려면 Visual Studio 2017부터 서비스 릴리스에 설명된 대로 사용합니다_MSC_FULL_VER.

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할 수 있습니다. 빌드 필드(MMNNBBBBB 버전 번호의 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 - 빌드 버전(5자리 숫자)
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.

참고 항목

_MSC_VER
Visual C++ 컴파일러 버전 블로그 게시물