Microsoft Visual C++

Microsoft Visual C++
비주얼 C++
Visual Studio Icon 2019.svg
개발자마이크로소프트
초기 릴리즈1993년 2월, 29년 전(1993-02)[1]
안정된 릴리스
14.32.31326 / 2022년 5월 10일
기입처C++[2]
운영 체제창문들
플랫폼IA-32, x86-64ARM
이용가능기간:영어, 중국어(간체 및 번체), 체코어, 프랑스어, 독일어, 이탈리아어, 일본어, 한국어, 폴란드어, 포르투갈어(브라질), 러시아어, 스페인어, 터키어
유형컴파일러
면허증.트라이얼웨어프리웨어
웹 사이트docs.microsoft.com/en-us/cpp/

Microsoft Visual C++(MSVC)는 Microsoft의 C, C++ 및 C++/CX 프로그래밍 언어용 컴파일러입니다.MSVC는 독자 사양의 소프트웨어입니다.원래는 스탠드아론 제품이었지만 나중에 Visual Studio의 일부가 되어 트라이얼웨어프리웨어 양식으로 제공되게 되었습니다.C++ 코드, 특히 Windows API, DirectX 및용으로 작성된 코드를 개발하고 디버깅하기 위한 도구를 갖추고 있습니다.네트워크

대부분의 응용 프로그램이 올바르게 작동하려면 재배포 가능한 Visual C++ 런타임 라이브러리 패키지가 필요합니다.이러한 패키지는 대부분의 경우 응용 프로그램과 독립적으로 설치되므로 여러 응용 프로그램에서 패키지를 사용할 수 있지만 한 번만 설치하면 됩니다.이러한 Visual C++ 재배포 가능 패키지 및 런타임 패키지는 대부분 많은 응용 프로그램이 [3]사용하는 표준 라이브러리용으로 설치됩니다.

역사

Visual C++의 이전 버전은 Microsoft C/C++라고 불렸습니다.또, Microsoft QuickC 2.5 와 Microsoft QuickC for Windows 1.0 이 있습니다.Visual C++ 컴파일러는 여전히 Microsoft C/C++로 알려져 있으며 Visual C++ 2015 Update 2의 릴리스 시점에서는 버전 14.0.23918.[citation needed]0에 있습니다.

16비트 버전

  • 래티스 C를 기반으로 한 Microsoft C 1.0은 1983년 마이크로소프트의 첫 번째 C 제품이었다.그것은 K&R C에 준거하지 않았다.
  • C 2.0에는 대형 모델 [citation needed]지원이 추가되었습니다.
  • C 3.0은 마이크로소프트에서 [4]개발된 첫 번째 버전입니다.이 버전은 K&R 및 최신 ANSI 표준과의 호환성을 의도하고 있습니다.1984년 초에 마이크로소프트 내부에서 사용되었습니다(Windows 및 Xenix 개발용).1985년에 상품으로 출고되었습니다.
  • C 4.0에는 최적화와 소스 레벨 디버거인 CodeView가 추가되었습니다.
  • C 5.0에는 루프 최적화와 '대용량 메모리 모델'(64KB 이상 어레이) 지원이 추가되었습니다.Microsoft Fortran과 최초의 80386용 32비트 컴파일러도 이 프로젝트의 일부였습니다.
  • 1988년에 출시된 C 5.1에서는 OS/2 1.x용 프로그램을 컴파일할 수 있었습니다.
  • C 6.0은 1989년에 출시되었습니다.Programmer's Workbench IDE, 글로벌 흐름 분석, 소스 브라우저 및 새로운 디버거가 추가되었으며 옵션인 C++ 프런트 [5]엔드가 포함되어 있습니다.
  • C/C++ 7.0은 1992년에 출시되었습니다.C++MFC(Microsoft Foundation Class Library) 1.0에 [6]대한 빌트인 지원이 추가되었습니다.
  • MFC 2.0을 포함한 Visual C++ 1.0은 1993년 2월에 출시된 'Visual' C++의 첫 번째 버전이다.Cfront 2.1에[7] 준거하여 다음 두 [1]가지 에디션으로 제공됩니다.
    • 표준: QuickC for Windows를 교환해 주세요.
    • Professional: C/C++ 7.0을 교환해 주세요.DOS 어플리케이션과 Windows 어플리케이션, 최적화 컴파일러, 소스 프로파일러, Windows 3.1 [7]SDK를 모두 구축하는 기능이 포함되어 있습니다.Phar Lap 286 DOS Extender Lite도 포함되어 있습니다.[8]
  • Visual C++ 1.5는 1993년 12월에 출시되었으며, MFC 2.5를 포함하며, MFC에 [9]OLE 2.0 및 ODBC 지원이 추가되었습니다.그것은 CD-ROM으로만 나온 최초의 Visual C++ 버전이었다.
    • Visual C++ 1.51 및 1.52는 서브스크립션서비스의 일부로서 이용 가능합니다.
    • Visual C++ 1.52b는 1.52와 비슷하지만 Control Development Kit는 포함되어 있지 않습니다.
    • Visual C++ 1.52c는 1.5의 패치 적용 버전입니다.Microsoft Windows 3.x의 마지막 개발 플랫폼이며, 가장 인기 있는 플랫폼입니다.Microsoft Developer Network를 통해 이용할 수 있습니다.

엄밀하게는 32비트 버전

  • Visual C++ 1.0 (원래 이름:Visual C++ 32비트 에디션)은 인텔 386 [10]아키텍처용 32비트 개발용 최초의 버전입니다.16비트 버전 1.5를 사용할 수 있을 때 출시되었지만 OLE2 및 ODBC에 대한 지원은 포함되지 않았습니다.또한 Visual C++ 1.5를 포함한 Visual C++ 16/[11]32비트 Suite라는 번들로 제공되었습니다.
  • Visual C++ 2.0(MFC 3.0 포함)은 32비트 전용의 최초의 버전입니다.당시 코드네임 "시카고"였던 윈도우 95가 아직 출시되지 않았고 윈도우 NT의 시장 점유율은 작았기 때문에 많은 면에서 이 버전은 시대를 앞선 것이었다.Microsoft는 Visual C++ 1.52를 포함한 최대 2.1 릴리스의 일부로 Visual C++ 1.5를 포함하며 16비트 및 32비트 버전의 CDK(Control Development Kit)도 포함 및 업데이트했습니다.Visual C++ 2.x는 Win32s 개발도 지원했습니다.Microsoft Developer Network를 통해 이용할 수 있습니다.MIPS Alpha 프로세서용 Visual C++ 2.0 RISC Edition과 Macintosh용 크로스 플랫폼 에디션(68000 명령 세트)[12]이 있었습니다.
    • Visual C++ 2.1 및 2.2는 구독을 통해 제공되는 2.0 업데이트입니다.
  • 1995-12-11에 출시된 Visual C++[13] 4.0은 Developer Studio IDE를 도입했습니다.탐색 패널, 조합 편집기/소스 레벨 디버거 패널, 콘솔 출력[14] 패널 등 겹치지 않는 패널로 구성된 당시 레벨 타일 레이아웃은 Visual Studio 제품 라인(2013년 기준)을 통해 계속됩니다.Visual C++ 4.0은 MFC 4.0을 포함하며 Windows 95 및 Windows NT용으로 설계되었습니다.레거시(Windows 3.x/DOS) 프로젝트를 지원하기 위해 4.0은 Visual C++ 1.52 설치 CD와 함께 제공되었습니다.구독을 통해 제공되는 업데이트에는 Microsoft Game SDK(나중에 DirectX SDK로 별도로 출시됨)와 함께 제공되는 Visual C++ 4.1과 Visual C++ 4.2가 포함됩니다.Visual C++ 4.0과 MFC 4.0의 버전 번호 [15]패리티를 얻기 위해 버전 번호 3.0을 건너뛰었습니다.
  • Visual C++ 4.2는 Windows 3.x([16]Win32s) 개발을 지원하지 않았습니다.이는 Macintosh용 크로스 플랫폼 에디션을 갖춘 최종 버전이며 PowerPC 명령어 세트용으로 컴파일도 가능했다는 점에서 2.x 버전과는 다릅니다.
  • Visual C++ 5.0은 MFC 4.21을 포함하고 1997-04-28에 [13]출시되었으며 4.2에서 [17]크게 업그레이드되었습니다.Learning, Professional,[18][19] Enterprise [20]및 RISC의 [21]4가지 에디션이 있습니다.
  • MFC 6.0을 포함한 Visual C++ 6.0(일반적으로 VC6)은 [22][23]1998년에 출시되었습니다.이 릴리스에는 MFC에 대한 예상 업데이트가 포함되어 있지 않기 때문에 다소 논란이 있었다.Visual C++ 6.0은 여전히 매우 인기가 있으며 레거시 프로젝트를 관리하는 데 자주 사용됩니다.다만, Windows XP 에서는, 특히 디버깅모드에서는, 이 버전에는 문제가 있습니다(예를 들면, 스태틱 변수의 값은 표시되지 않습니다).디버깅 문제는 'Visual C++ 6.0'이라는 패치로 해결할 수 있습니다.프로세서 팩」[24]을 참조해 주세요.버전 번호: 12.00.8804
  • 비주얼 C++MFC 7.0을 포함한 NET 2002(일명 Visual C++ 7.0)는 링크 타임코드 생성 및 런타임체크 디버깅을 지원하여 2002년에 출시되었습니다.NET 1.0, Visual C#Managed C++.새로운 사용자 인터페이스는 Visual Basic의 많은 단축키와 규약을 사용했는데, 이는 C++ [citation needed]개발자들 사이에서 비인기적인 이유 중 일부였다.버전 번호: 13.00.9466
  • 비주얼 C++MFC 7.1을 포함한 NET 2003(일명 Visual C++ 7.1)은 2003년에 와 함께 출시되었습니다.NET 1.1 및 Visual C++로의 메이저업그레이드였습니다NET 2002.Visual C++로의 패치로 간주되었습니다.NET 2002.따라서 Visual Studio의 영어 업그레이드 버전입니다.NET 2003은 영어판 Visual Studio 소유자에게 최소한의 비용으로 배송되었습니다.NET 2002.이 버전이 Windows 95 및 NT 4.0을 [citation needed]대상으로 지원하는 마지막 버전입니다.버전 번호: 13.10.3077
  • 다양한 버전의 eMbedded Visual C++[25]를 사용하여 Windows CE 운영 체제의 일부 버전을 개발했습니다.처음에는 Visual C++ 6.0에 추가된 툴로 구성된 개발 환경을 대체했지만 eMbedded Visual C++는 Microsoft Visual Studio 2005에 의해 별도의 개발 환경으로 대체되었습니다.

32비트 및 64비트 버전

  • MFC 8.0을 포함한 Visual C++ 2005(Visual C++ 8.0이라고도 함)는 2005년 11월에 출시되었습니다.이 버전은 를 지원합니다.NET 2.0 및 를 대상으로 한 새로운 버전의 C++가 포함되어 있습니다.이전 버전(Managed C++)의 치환을 목적으로 하는 NET 프레임워크(C++/CLI).다만, CLI 용 Managed C++ 는 컴파일러 옵션을 통해서도 사용할 수 있습니다.또, OpenMP도 도입했습니다.Visual C++ 2005에서는, Microsoft도 Team Foundation Server를 도입했습니다.Visual C++ 8.0은 Visual Studio 6.0을 사용하여 만든 MFC AppWizard 프로젝트를 컴파일하는 데 문제가 있으므로 다시 쓸 수 없는 경우 기존 프로젝트의 유지 관리를 원래 IDE로 계속할 수 있습니다.Visual C++ 2005는 Windows 98 및 Windows [26][27]Me를 대상으로 할 수 있는 마지막 버전입니다.SP1 버전(14.00.50727.762)은 Microsoft Windows SDK Update for Windows Vista에서도 사용할 수 있습니다.
  • Visual C++ 2008(Visual C++ 9.0이라고도 함)은 2007년 11월에 출시되었습니다.이 버전은 를 지원합니다.NET 3.5. CLI용 Managed C++는 컴파일러 옵션에서도 사용할 수 있습니다.기본적으로는 Visual C++ 2008 런타임에 대해 컴파일된 모든 응용 프로그램(정적 링크 및 동적 링크)은 Windows 2000, Windows XP SP2 [28][29]이후에서만 작동합니다.VC9용으로 릴리즈된 기능 팩(나중에 SP1에 포함)에서는 C++ TR1 라이브러리 확장 지원이 추가되었습니다.SP1 버전(15.00.30729.01)은 Microsoft Windows SDK for Windows 7에서도 사용할 수 있습니다.
  • 일부 버전의 Visual C++는 Itanium 2를 지원했습니다.
  • Visual C++ 2010 (Visual C++ 10.0이라고도 함)은 2010년 4월 12일에 출시되었습니다.SQL Server Compact 데이터베이스를 사용하여 IntelliSense 정보를 포함한 소스 코드에 대한 정보를 저장하여 IntelliSense 및 코드 완성 [30]지원을 향상시킵니다.단, Visual C++ 2010은 C++/[31]CLI용 Intellisense를 지원하지 않습니다.이 버전은 병렬 패턴 라이브러리라고 불리는 C++ 병렬 컴퓨팅 라이브러리, C++11에 대한 부분 지원, 에디슨 디자인 그룹의 프런트 [32]엔드에 기반한 대폭 개선된 IntelliSense 및 컴파일러와 생성된 [33]코드 모두에 성능 향상을 추가합니다.이 버전은 에 구축되어 있습니다.NET 4.0. 단, 머신 코드로 컴파일 할 수 있습니다.부분적인 C++11 지원은 주로 6개의 컴파일러 기능([34]lamdas, rvalue references, auto, decltype, static_assert 및 nullptr)으로 구성됩니다.C++11은 라이브러리 기능도 지원합니다(예를 들어 TR1 컴포넌트를 std:tr1 네임스페이스에서 std 네임스페이스로 직접 이동).Variadic 템플릿도 검토되었지만 구현 비용이 많이 드는 다른 기능(lambda, rvalue reference)과 달리 Variadic 템플릿은 컴파일러 최종 [35]사용자 대다수가 아닌 소수의 라이브러리 라이터에만 도움이 된다는 사실에 기인한 낮은 우선순위로 인해 일부 미래 버전으로 지연되었습니다.기본적으로는 Visual C++ 2010 런타임에 대해 컴파일된 모든 애플리케이션은 Windows XP SP2 이상에서만 작동합니다.RTM 버전(16.00.30319)은 Windows 7 용 Windows SDK Windows 7 에서도 사용할 수 있습니다.NET Framework 4(WinSDK v7.1).[36]SP1 버전(16.00.40219)은 Visual Studio 2010 Service Pack 1의 일부로 또는 Windows SDK [37]7.1용 Microsoft Visual C++ 2010 Service Pack 1 컴파일러 업데이트를 통해 제공됩니다.
  • Visual C++ 2012 (Visual C++ 11.0이라고도 함)는 2012년 8월 15일에 출시되었습니다.향상된 C++11 지원과 Windows Runtime 개발을 [38]지원합니다.
  • Visual C++ 2013 (Visual C++ 12.0이라고도 함)은 2013년 10월 17일에 출시되었습니다.또한 C++11 및 C99를 지원하며 REST [39]SDK를 도입했습니다.
  • Visual C++ 2015 (Visual C++ 14.0이라고도 함)는 2015년 [40]7월 20일에 출시되었습니다.C++11/14/17 지원이 [41]향상되었습니다.Microsoft의 발표 없이 Visual Studio 2015 Update 2는 컴파일된 바이너리에서 원격 측정 호출을 생성하기 시작했습니다.일부 사용자가 이 문제에 대해 Microsoft에 문의한 후 Microsoft는 향후 Visual Studio 2015 Update [42][43]3에서 컴파일할 때 이러한 원격 측정 호출을 제거하겠다고 밝혔습니다.해당 함수는 Visual Studio 2015 Update [citation needed]3의 Visual C++ CRT 정적 라이브러리에서 제거되었습니다.
  • Visual C++ 2017(Visual C++ 14라고도 함)1)은 2017년 [44]3월 7일에 발매되었습니다.
  • Visual C++ 2019(Visual C++ 14라고도 함)20)은 2019년 [45]4월 2일에 발매되었습니다.

엄밀하게는 64비트 버전

  • Visual C++ 2022(Visual C++ 14라고도 함)30)은 2021년 [46]11월 8일에 발매되었습니다.

내부 버전 번호부여부

미리 정의된 매크로_MSC_VER에 Visual C++ 컴파일러의 줄자 및 마이너버전 번호를 나타냅니다.매크로의 값은 정수 리터럴입니다.마지막 두 자리는 마이너버전 번호를 나타내고 앞 자리는 메이저버전 번호를 나타냅니다.

Visual Studio 2017부터_MSC_VERVisual C++ 툴셋을 갱신할 때마다 단조롭게 증가합니다.따라서 예를 들어 Visual Studio 2017 버전 15.3.0 세트와 함께 제공되는 14.11 버전은_MSC_VER로.1911Microsoft 에서는,>=값을 테스트하는 연산자_MSC_VER.

다음은 의 가치입니다._MSC_VERVisual C++의 다양한 버전의 경우:

MSC 버전
MSC 버전 _MSC_VER
1.0 100
2.0 200
3.0 300
4.0 400
5.0 500
6.0 600
7.0 700
MSVC++ 버전
MSVC++ 버전 _MSC_VER
1.0 800
2.0 900
4.0 1000 (Developer Studio 4.0)
4.2 1020 (Developer Studio 4.2)
5.0 1100 (Visual Studio 5.0)
6.0 1200 (Visual Studio 6.0)
7.0 1300 (Visual Studio 2002 7.0)
7.1 1310 (Visual Studio 2003 7.1)
8.0 1400 (Visual Studio 2005 8.0)
9.0 1500 (Visual Studio 2008 9.0)
10.0 1600 (Visual Studio 2010 10.0)
11.0 1700 (Visual Studio 2012 11.0)
12.0 1800 (Visual Studio 2013 12.0)
14.0 1900 (Visual Studio 2015 14.0)
14.1 1910년 (Visual Studio 2017 15.0)
14.11 1911년 (Visual Studio 2017 15.3)
14.12 1912년 (Visual Studio 2017 15.5)
14.13 1913년 (Visual Studio 2017 버전 15.6)
14.14 1914년 (Visual Studio 2017 버전 15.7)
14.15 1915년 (Visual Studio 2017 버전 15.8)
14.16 1916년 (Visual Studio 2017 버전 15.9)
14.20 1920 (Visual Studio 2019 Version 16.0)
14.21 1921년(Visual Studio 2019 Version 16.1)
14.22 1922년 (Visual Studio 2019 Version 16.2)
14.23 1923년(Visual Studio 2019 버전 16.3)
14.24 1924년 (Visual Studio 2019 Version 16.4)
14.25 1925년(Visual Studio 2019 Version 16.5
14.26 1926년 (Visual Studio 2019 Version 16.6)
14.27 1927년(Visual Studio 2019 버전 16.7)
14.28 1928년 (Visual Studio 2019 버전 16.8 + 16.9)
14.29 1929년 (Visual Studio 2019 버전 16.10 + 16.11)
14.30 1930 (Visual Studio 2022 버전 17.0)
14.31 1931년(Visual Studio 2022 버전 17.1)
14.32 1932년 (Visual Studio 2022 버전 17.2)
14.33 1933년(Visual Studio 2022 버전 17.3)

이러한 버전 번호는 설치 디렉토리에서 볼 수 있는 Visual C++ 컴파일러 및 라이브러리의 주요 버전 번호를 나타냅니다.Visual Studio 릴리스 이름에는 연도가 없습니다.상세한 리스트를 입수할 [47][48]수 있습니다.

C++ 컴파일러 실행 가능 버전이 일치합니다._MSC_VERVisual C++ 제품 전체 버전과 다릅니다.예를 들어 14.22(Visual Studio 2019 16.2.5)에 포함된 cl.exe는 인수 없이 실행되면 버전을 19.22.27905로 보고합니다.

또,_MSC_FULL_VER빌드 번호에 대한 추가 정보를 위해 1200부터 정의된 값.

호환성.

ABI

Visual C++ 컴파일러 ABI는 주요 컴파일러 릴리스 [49]간에 역사적으로 변경되었습니다.이것은 특히 컴파일러 릴리스 [50]간에 컨테이너 크기가 많이 달라지는 STL 컨테이너의 경우입니다.따라서 다른 컴파일러 버전을 사용하여 컴파일된 클라이언트코드를 이노블로 하는 경우 모듈 경계에서 C++ 인터페이스를 사용하지 않도록 권장합니다.C++ 대신에, Microsoft 는 C 또는 COM 인터페이스를 사용하는[51] 것을 추천합니다.이 인터페이스[52] 컴파일러 릴리스 간에 안정된 ABI를 갖도록 설계되어 있습니다.

모든 14.x MSVC 릴리스에는 안정된 [53]ABI가 있으며, 이러한 버전으로 빌드된 바이너리는 다음 제약사항에 주의하여 정방향 호환 방식으로 혼재할 수 있습니다.

  • 사용되는 도구 집합 버전은 연결된 이진 파일을 빌드하는 데 사용되는 가장 높은 도구 집합 버전 이상이어야 합니다.
  • MSVC 재배포 가능 버전은 응용 프로그램컴포넌트에서 사용되는 툴셋 버전 이상이어야 합니다.
  • /GL(전체 프로그램 최적화)로 컴파일된 정적 라이브러리 또는 객체 파일은 버전 간에 이진 호환성이 없으므로 동일한 도구 집합을 사용해야 합니다.

C 런타임 라이브러리

Visual C++는 다양한 버전의 C 런타임 [54]라이브러리와 함께 제공됩니다.즉, 사용자는 사용 가능한 라이브러리를 사용하여 코드를 컴파일할 수 있습니다.단, 같은 프로그램에서 다른 컴포넌트(DLL, EXE)를 사용할 경우 문제가 발생할 수 있습니다.대표적인 예로 다른 라이브러리를 사용하는 프로그램을 들 수 있습니다.사용자는 그 의미를 이해하지 않는 한 프로그램의 모든 컴포넌트에 대해 동일한 C 런타임(Run-Time)을 사용해야 합니다.Microsoft는 발생할 수 있는 문제를 [54]피하기 위해 멀티스레드 다이내믹 링크 라이브러리(/MD 또는 /MD 컴파일러 옵션)를 사용할 것을 권장합니다.

POSIX

Microsoft 의 CRT 는 POSIX 인터페이스의 큰 서브셋을 실장하고 있습니다만, Visual C++ 컴파일러는 이러한 기능을 사용할 마다 디폴트로 경고를 보냅니다.C 및 C++ 규격에서는 구현 정의 인터페이스 전에 언더스코어 프리픽스가 필요하기 때문에 이러한 기능은 표준이 [55]아닙니다.그러나 실제로 POSIX에 준거한 시스템은 이러한 밑줄 친 이름을 받아들이지 않으며 대신 경고를 끄는 것이 더 휴대성이 높습니다.

C

이 제품은 C 프로그래밍 언어의 IDE로 시작되었지만, 수년간 이 언어에 대한 컴파일러의 지원은 1989년부터 시작된 C 표준 원판에만 준거하고 C99 표준 개정판에는 준거하지 않았습니다.C99는 발행 [56]후 10여 년이 지난 2011년에도 지원 계획이 없었다.

Visual C++ 2013은 C 모드의 다양한 C99 기능(지정 이니셜라이저, 복합 리터럴, 및_Bool타입)[57]은 아직 [58]완성되지 않았습니다.Visual C++ 2015는 [59]컴파일러가 아직 지원하지 않는 C99 언어 기능을 필요로 하는 기능을 제외하고 C99 Standard Library를 완전히 지원함으로써 C99 지원을 더욱 향상시켰습니다.

표준의 C11 개정판으로부터의 변경의 대부분은, 여전히 Visual C++[60] 2017 에서는 서포트되고 있지 않습니다.예를 들어, 를 통한 범용 선택_Generic키워드는 컴파일러에서 지원되지 않기 때문에 구문 [61]오류가 발생합니다.

프리프로세서는 C11을 염두에 두고 [62]2018년에 정비되었습니다.

C11의 완전한 적합성은 당사의 로드맵에 기재되어 있으며, 프리프로세서의 갱신은 이 프로세스의 첫 번째 단계일 뿐입니다.더 C11_Generic기능은 실제로는 프리프로세서의 일부가 아니기 때문에 아직 실장되어 있지 않습니다.구현 시 이 기능은 기존 또는 업데이트된 프리프로세서 로직이 사용되는지 여부에 관계없이 동작할 것으로 예상됩니다.

_Generic2020년 2월 현재 MSVC에 지원을 약속하고 있으며 언제 [63]출하될지는 명확하지 않다.

2020년 9월에 Microsoft는 MSVC에서의 [64]C11 및 C17 표준 지원을 발표했습니다.

C++

디폴트 설정에서는 MSVC는 2단계 이름 검색을 하지 않기 때문에 광범위한 무효 코드를 플래그가 붙지 않습니다.대부분의 체크는 템플릿 인스턴스화로 연기됩니다.최신 버전에서는 이 동작이 개선되지만 명령줄 옵션을 사용하여 활성화해야 합니다./permissive-를 클릭합니다.[65]

레퍼런스

  1. ^ a b "Visual C++ adds Windows support". InfoWorld. February 22, 1993. p. 17.
  2. ^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
  3. ^ 「이러한 Microsoft Visual C++ 재배포가 필요한가요?」리오한테 물어봐!2012-11-18 취득.
  4. ^ Leibson, Steve (1985-02-01). "Software Reviews: Expert team analyzes 21 C compilers". Computer Language. Retrieved 2020-06-05.
  5. ^ Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0".
  6. ^ http://support.microsoft.com/kb/196831 에서 취득했습니다.
  7. ^ a b "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94.
  8. ^ "Rival DOS Extenders debut at show". InfoWorld. March 1, 1993. p. 18.
  9. ^ "Visual C++ 1.5 integrates OLE, ODBC". InfoWorld. November 8, 1993. p. 5.
  10. ^ "Microsoft set to prerelease 32-bit Visual C++". InfoWorld. July 19, 1993. p. 12.
  11. ^ "C++ IDEs evolve". InfoWorld. April 4, 1994. p. 79.
  12. ^ "Microsoft Visual C++ Strategy".
  13. ^ a b "Obsolete Products". Archived from the original on 2005-08-14.
  14. ^ Toth, Viktor (1996). "1". Visual C++ 4.0 unleashed. Indianapolis: SAMS Publishing. ISBN 9780672308741. Retrieved 26 July 2013.
  15. ^ "History of Visual Studio (Part 3)".
  16. ^ "Major Changes from Visual C++ 4.0 to 4.2". Archived from the original on 2010-02-28. Retrieved 2018-04-18.
  17. ^ "Major Changes from Visual C++ 4.2 to 5.0".
  18. ^ "Microsoft Visual C++ 5.0 Learning Edition". Archived from the original on April 27, 1999.
  19. ^ "Microsoft Visual C++ 5.0 Professional Edition". Archived from the original on April 27, 1999.
  20. ^ "Microsoft Visual C++ 5.0 Enterprise Edition". Archived from the original on April 17, 1999.
  21. ^ "Microsoft Visual C++ 5.0 RISC Edition". Archived from the original on April 29, 1999.
  22. ^ Shields, Nathan P. (June 8, 2018). "Criminal Complaint". United States Department of Justice. p. 128. 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.
  23. ^ "Major Changes from Visual C++ 5.0 to 6.0". Archived from the original on September 14, 2008.
  24. ^ 페이지에서는, 유저가 Windows 98, Windows NT 4.0, 또는 Windows 2000 도 실행하고 있을 필요가 있습니다.http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx 에서 취득했습니다.
  25. ^ Douglas Boling : Microsoft Windows CE 프로그래밍.NET, 제3판 Microsoft Press; 제3판 (2003년 6월 25일) 페이퍼백: 1264 페이지 ISBN 978-0735618848 - Microsoft eMbedded Visual C++ 4.0 탑재 Companion CD Service Pack 2 아카이브에 2013-02-11 아카이브 완료.
  26. ^ 방법: WINVER 및 _WIN32_WINNT 변경
  27. ^ 변경 내용 변경
  28. ^ Windows 플랫폼(CRT)
  29. ^ "Visual C++ 2008 Breaking Changes".
  30. ^ Visual C++ Team Blog. "IntelliSense, part 2: The Future". Retrieved March 12, 2008.
  31. ^ "Why IntelliSense is not supported for C++/CLI in Visual Studio 2010". Retrieved March 13, 2011.
  32. ^ Visual C++ Team Blog (27 May 2009). "Rebuilding Intellisense".
  33. ^ Visual C++ Team Blog. "Visual C++ Code Generation in Visual Studio 2010".
  34. ^ "C++0x Core Language Features In VC10: The Table".
  35. ^ "Stephan T. Lavavej: Everything you ever wanted to know about nullptr".
  36. ^ Microsoft Windows SDK Blog. "Released: Windows SDK for Windows 7 and .NET Framework 4".
  37. ^ 픽스: Windows SDK v7.1이 설치되어 있는 경우 Visual Studio 2010 Professional 또는 Visual Studio 2010 Express를 Visual Studio 2010 SP1로 업그레이드하면 Visual C++ 컴파일러가 삭제됩니다.
  38. ^ "What's New for Visual C++ in Visual Studio 2012". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
  39. ^ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
  40. ^ Eric Battalio (July 20, 2015). "Visual Studio 2015 RTM Now Available". Visual C++ Team Blog. Microsoft.
  41. ^ Stephan T. Lavavej (June 19, 2015). "C++11/14/17 Features In VS 2015 RTM". Visual C++ Team Blog. Microsoft.
  42. ^ C++ 바이너리에 대한 Microsoft의 자동 텔레메트리 삽입 확인
  43. ^ "Visual Studio adding telemetry function calls to binary? • /r/cpp". reddit. 7 May 2016. Retrieved 2016-08-17.
  44. ^ Julia Liuson (March 7, 2017). "Announcing Visual Studio 2017 General Availability… and more". Visual Studio Team Blog. Microsoft.
  45. ^ Amanda Silver (February 14, 2019). "Join us April 2nd for the Launch of Visual Studio 2019!". Visual Studio Team Blog. Microsoft.
  46. ^ Amanda Silver (November 8, 2021). "Visual Studio 2022 now available". Visual Studio Team Blog. Microsoft.
  47. ^ "Pre-defined Compiler Macros / Wiki / Compilers". sourceforge.net. Retrieved 2016-02-11.
  48. ^ "Predefined macros". docs.microsoft.com. Retrieved 2021-12-06.
  49. ^ Microsoft MSDN: Visual C++의 변경 사항 변경
  50. ^ Microsoft MSDN: 컨테이너(현대 C++)
  51. ^ Microsoft MSDN: ABI 경계에서의 휴대성(현대 C++)
  52. ^ Microsoft 포럼: Visual C++ 버전 의 바이너리 호환성 아카이브 2013-02-16
  53. ^ docs.microsoft.com:Visual Studio 2015, 2017 및 2019 간 C++ 바이너리 호환성
  54. ^ a b C 런타임 라이브러리
  55. ^ "Compatibility". Microsoft: CRT library features.
  56. ^ "C99 support". Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
  57. ^ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft.
  58. ^ Pat Brenner (July 19, 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft.
  59. ^ "What's New for Visual C++ in Visual Studio 2015". Microsoft Developer Network. Microsoft.
  60. ^ "Walkthrough: Compile a C program on the command line". Visual C++ Documentation. Microsoft.
  61. ^ "MSVC 2017 does not support _Generic (type generic macros) in C".
  62. ^ Luvsanbat, Bat-Ulzii (July 6, 2018). "MSVC Preprocessor Progress towards Conformance". Microsoft Developer Network. Archived from the original on 8 Jan 2019.
  63. ^ "C++20 Features and Fixes". reddit. July 3, 2020.
  64. ^ "C11 and C17 Standard Support Arriving in MSVC". September 14, 2020.
  65. ^ "Two-phase name lookup support comes to MSVC". 2017-09-11.

추가 정보

외부 링크