Microsoft Visual C++
Microsoft Visual C++개발자 | 마이크로소프트 |
---|---|
초기 릴리즈 | 1993년 2월, [1] | 전(
안정된 릴리스 | 14.32.31326 / 2022년 5월 10일 |
기입처 | C++[2] |
운영 체제 | 창문들 |
플랫폼 | IA-32, x86-64 및 ARM |
이용가능기간: | 영어, 중국어(간체 및 번체), 체코어, 프랑스어, 독일어, 이탈리아어, 일본어, 한국어, 폴란드어, 포르투갈어(브라질), 러시아어, 스페인어, 터키어 |
유형 | 컴파일러 |
면허증. | 트라이얼웨어 및 프리웨어 |
웹 사이트 | docs |
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]가지 에디션으로 제공됩니다.
- 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_VER
는 Visual C++ 툴셋을 갱신할 때마다 단조롭게 증가합니다.따라서 예를 들어 Visual Studio 2017 버전 15.3.0 세트와 함께 제공되는 14.11 버전은_MSC_VER
로.1911
Microsoft 에서는,>=
값을 테스트하는 연산자_MSC_VER
.
다음은 의 가치입니다._MSC_VER
Visual C++의 다양한 버전의 경우:
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++ 버전 | _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_VER
Visual 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
기능은 실제로는 프리프로세서의 일부가 아니기 때문에 아직 실장되어 있지 않습니다.구현 시 이 기능은 기존 또는 업데이트된 프리프로세서 로직이 사용되는지 여부에 관계없이 동작할 것으로 예상됩니다.
_Generic
2020년 2월 현재 MSVC에 지원을 약속하고 있으며 언제 [63]출하될지는 명확하지 않다.
2020년 9월에 Microsoft는 MSVC에서의 [64]C11 및 C17 표준 지원을 발표했습니다.
C++
디폴트 설정에서는 MSVC는 2단계 이름 검색을 하지 않기 때문에 광범위한 무효 코드를 플래그가 붙지 않습니다.대부분의 체크는 템플릿 인스턴스화로 연기됩니다.최신 버전에서는 이 동작이 개선되지만 명령줄 옵션을 사용하여 활성화해야 합니다./permissive-
를 클릭합니다.[65]
레퍼런스
- ^ a b "Visual C++ adds Windows support". InfoWorld. February 22, 1993. p. 17.
- ^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 14 March 2010.
- ^ 「이러한 Microsoft Visual C++ 재배포가 필요한가요?」리오한테 물어봐!2012-11-18 취득.
- ^ Leibson, Steve (1985-02-01). "Software Reviews: Expert team analyzes 21 C compilers". Computer Language. Retrieved 2020-06-05.
- ^ Ladd, Scott Robert (August 1, 1990). "Optimizing With Microsoft C 6.0".
- ^ http://support.microsoft.com/kb/196831 에서 취득했습니다.
- ^ a b "Visual C++ is a strong development tool". InfoWorld. June 21, 1993. p. 94.
- ^ "Rival DOS Extenders debut at show". InfoWorld. March 1, 1993. p. 18.
- ^ "Visual C++ 1.5 integrates OLE, ODBC". InfoWorld. November 8, 1993. p. 5.
- ^ "Microsoft set to prerelease 32-bit Visual C++". InfoWorld. July 19, 1993. p. 12.
- ^ "C++ IDEs evolve". InfoWorld. April 4, 1994. p. 79.
- ^ "Microsoft Visual C++ Strategy".
- ^ a b "Obsolete Products". Archived from the original on 2005-08-14.
- ^ Toth, Viktor (1996). "1". Visual C++ 4.0 unleashed. Indianapolis: SAMS Publishing. ISBN 9780672308741. Retrieved 26 July 2013.
- ^ "History of Visual Studio (Part 3)".
- ^ "Major Changes from Visual C++ 4.0 to 4.2". Archived from the original on 2010-02-28. Retrieved 2018-04-18.
- ^ "Major Changes from Visual C++ 4.2 to 5.0".
- ^ "Microsoft Visual C++ 5.0 Learning Edition". Archived from the original on April 27, 1999.
- ^ "Microsoft Visual C++ 5.0 Professional Edition". Archived from the original on April 27, 1999.
- ^ "Microsoft Visual C++ 5.0 Enterprise Edition". Archived from the original on April 17, 1999.
- ^ "Microsoft Visual C++ 5.0 RISC Edition". Archived from the original on April 29, 1999.
- ^ 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.
- ^ "Major Changes from Visual C++ 5.0 to 6.0". Archived from the original on September 14, 2008.
- ^ 이 페이지에서는, 유저가 Windows 98, Windows NT 4.0, 또는 Windows 2000 도 실행하고 있을 필요가 있습니다.http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx 에서 취득했습니다.
- ^ 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 아카이브 완료.
- ^ 방법: WINVER 및 _WIN32_WINNT 변경
- ^ 변경 내용 변경
- ^ Windows 플랫폼(CRT)
- ^ "Visual C++ 2008 Breaking Changes".
- ^ Visual C++ Team Blog. "IntelliSense, part 2: The Future". Retrieved March 12, 2008.
- ^ "Why IntelliSense is not supported for C++/CLI in Visual Studio 2010". Retrieved March 13, 2011.
- ^ Visual C++ Team Blog (27 May 2009). "Rebuilding Intellisense".
- ^ Visual C++ Team Blog. "Visual C++ Code Generation in Visual Studio 2010".
- ^ "C++0x Core Language Features In VC10: The Table".
- ^ "Stephan T. Lavavej: Everything you ever wanted to know about nullptr".
- ^ Microsoft Windows SDK Blog. "Released: Windows SDK for Windows 7 and .NET Framework 4".
- ^ 픽스: Windows SDK v7.1이 설치되어 있는 경우 Visual Studio 2010 Professional 또는 Visual Studio 2010 Express를 Visual Studio 2010 SP1로 업그레이드하면 Visual C++ 컴파일러가 삭제됩니다.
- ^ "What's New for Visual C++ in Visual Studio 2012". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
- ^ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft. Retrieved September 20, 2015.
- ^ Eric Battalio (July 20, 2015). "Visual Studio 2015 RTM Now Available". Visual C++ Team Blog. Microsoft.
- ^ Stephan T. Lavavej (June 19, 2015). "C++11/14/17 Features In VS 2015 RTM". Visual C++ Team Blog. Microsoft.
- ^ C++ 바이너리에 대한 Microsoft의 자동 텔레메트리 삽입 확인
- ^ "Visual Studio adding telemetry function calls to binary? • /r/cpp". reddit. 7 May 2016. Retrieved 2016-08-17.
- ^ Julia Liuson (March 7, 2017). "Announcing Visual Studio 2017 General Availability… and more". Visual Studio Team Blog. Microsoft.
- ^ Amanda Silver (February 14, 2019). "Join us April 2nd for the Launch of Visual Studio 2019!". Visual Studio Team Blog. Microsoft.
- ^ Amanda Silver (November 8, 2021). "Visual Studio 2022 now available". Visual Studio Team Blog. Microsoft.
- ^ "Pre-defined Compiler Macros / Wiki / Compilers". sourceforge.net. Retrieved 2016-02-11.
- ^ "Predefined macros". docs.microsoft.com. Retrieved 2021-12-06.
- ^ Microsoft MSDN: Visual C++의 변경 사항 변경
- ^ Microsoft MSDN: 컨테이너(현대 C++)
- ^ Microsoft MSDN: ABI 경계에서의 휴대성(현대 C++)
- ^ Microsoft 포럼: Visual C++ 버전 간의 바이너리 호환성 아카이브 2013-02-16
- ^ docs.microsoft.com:Visual Studio 2015, 2017 및 2019 간 C++ 바이너리 호환성
- ^ a b C 런타임 라이브러리
- ^ "Compatibility". Microsoft: CRT library features.
- ^ "C99 support". Microsoft Connect. Archived from the original on 2016-03-04. Retrieved 2015-09-21.
- ^ "What's New for Visual C++ in Visual Studio 2013". Microsoft Developer Network. Microsoft.
- ^ Pat Brenner (July 19, 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft.
- ^ "What's New for Visual C++ in Visual Studio 2015". Microsoft Developer Network. Microsoft.
- ^ "Walkthrough: Compile a C program on the command line". Visual C++ Documentation. Microsoft.
- ^ "MSVC 2017 does not support _Generic (type generic macros) in C".
- ^ Luvsanbat, Bat-Ulzii (July 6, 2018). "MSVC Preprocessor Progress towards Conformance". Microsoft Developer Network. Archived from the original on 8 Jan 2019.
- ^ "C++20 Features and Fixes". reddit. July 3, 2020.
- ^ "C11 and C17 Standard Support Arriving in MSVC". September 14, 2020.
- ^ "Two-phase name lookup support comes to MSVC". 2017-09-11.
추가 정보
- Johnson, Brian (8 August 2004). "Building Win32 Applications Using Visual C++ 2005 Express". Brian Johnson's Startup Developer Blog. Microsoft – via Microsoft Docs Archive.
- Springfield, Jim (25 September 2015). "Rejuvenating the Microsoft C/C++ Compiler". C++ Team Blog. Microsoft.