Visual Studio 버전의 C++ 도구 및 기능
다음 C++ 기능은 Visual Studio에서 사용할 수 있습니다. 별도로 명시되지 않는 한 모든 기능은 모든 버전에서 사용할 수 있습니다. Visual Studio Community, Visual Studio Professional 및 Visual Studio Enterprise. 일부 기능에는 Visual Studio 설치 관리자를 사용하여 설치할 수 있는 특정 워크로드 또는 선택적 구성 요소가 필요합니다.
다음 표에는 Visual Studio 2017에서 사용할 수 있는 Visual C++ 기능이 나와 있습니다. 셀에 X가 있으면 해당 기능을 사용할 수 있음을 나타내고, 셀이 비어 있으면 해당 기능을 사용할 수 없음을 나타냅니다. 괄호 안의 참고 사항은 해당 기능을 사용할 수 있지만 제한됨을 나타냅니다.
플랫폼
- Windows Desktop
- 유니버설 Windows 플랫폼((태블릿, PC, Xbox, IoT 및 HoloLens))
- Linux
- Android
- iOS
플랫폼 | Visual Studio Express for Windows 10 | Visual Studio Express for Windows Desktop | Visual Studio Community/Professional | Visual Studio Enterprise |
---|---|---|---|---|
Windows Desktop | X | X | X | |
범용 Windows 플랫폼(휴대폰, 태블릿, PC, Xbox, IoT 및 HoloLens) | X | X | X | |
Linux | X | X | ||
Microsoft Store 8.1 | X | X | ||
Windows Phone 8.0 | X | X | ||
Android | X | X | ||
iOS | X | X |
컴파일러
- x86, x64, ARM 및 ARM64용 MSVC 32비트 컴파일러
- x86, x64, ARM 및 ARM64용 MSVC 64비트 컴파일러
- ARM용 GCC 크로스 컴파일러
- Clang/LLVM
- Windows의 경우 x86 또는 x64를 대상으로 하는 Clang/LLVM 12.0(CMake 지원에만 해당).
- Linux의 경우 배포판에서 지원되는 모든 Clang/LLVM 설치.
컴파일러 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
MSVC 32비트 X86 컴파일러 | X | X | X | X |
x86_arm cross-compiler | X | X | X | |
MSVC 64비트 x64 컴파일러 | X | X | ||
x86_x64 cross-compiler | X | X | X | X |
C++ 워크로드
Visual Studio에는 C++ 개발을 위한 다음과 같은 워크로드가 포함되어 있습니다. .NET 데스크톱 개발, Python 개발, Azure 개발, Visual Studio 확장 개발 등과 같은 다른 워크로드와 함께 이러한 워크로드 중 일부 또는 모두를 설치할 수 있습니다.
C++를 사용한 데스크톱 개발
Included:
- C++ 핵심 데스크톱 기능
선택적 구성 요소:
- MSVC v143 - VS 2022 C++ x64/x86 빌드 도구(최신 버전)
- Windows 10 SDK(이 Visual Studio 버전의 최신 버전)
- Just-In-Time 디버거
- C++ 프로파일링 도구
- Windows용 C++ CMake 도구
- v143 빌드 도구용 C++ ATL(x86 및 x64)
- Test Adapter for Boost.Test
- Test Adapter for Google Test
- Live Share
- IntelliCode
- C++ AddressSanitizer
- IntelliTrace(Enterprise만 해당)
- MSVC v143 - VS 2022 C++ ARM64 빌드 도구(최신 버전)
- 최신 v143 빌드 도구용 C++ MFC(x86 및 x64)
- v143 빌드 도구용 C++/CLI 지원(최신 버전)
- v143 빌드 도구용 C++ 모듈(x64/x86 – 실험적)
- Windows용 C++ Clang 도구(12.0.0 - x64/x86)
- JavaScript 진단
- IncrediBuild - 빌드 가속화
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- MSVC v142 - VS 2019 C++ x64/x86 빌드 도구(v14.29)
- MSVC v141 – VS 2017 C++ x64/x86 빌드 도구(v14.16)
- MSVC v140 - VS 2015 C++ 빌드 도구(v14.00)
- MSVC v142 - VS 2019 C++ x64/x86 빌드 도구(최신 버전)
- Windows 10 SDK(이 Visual Studio 버전의 최신 버전)
- Just-In-Time 디버거
- C++ 프로파일링 도구
- Windows용 C++ CMake 도구
- v142 빌드 도구용 C++ ATL(x86 및 x64)
- Test Adapter for Boost.Test
- Test Adapter for Google Test
- Live Share
- IntelliCode
- C++ AddressSanitizer
- IntelliTrace(Enterprise만 해당)
- MSVC v142 - VS 2019 C++ ARM64 빌드 도구(최신 버전)
- 최신 v142 빌드 도구용 C++ MFC(x86 및 x64)
- v142 빌드 도구용 C++/CLI 지원(최신 버전)
- v142 빌드 도구용 C++ 모듈(x64/x86 – 실험적)
- Windows용 C++ Clang 도구
- JavaScript 진단
- IncrediBuild - 빌드 가속화
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- MSVC v141 – VS 2017 C++ x64/x86 빌드 도구(v14.16)
- MSVC v140 - VS 2015 C++ 빌드 도구(v14.00)
C++를 사용한 Linux 개발
Included:
- C++ 핵심 기능
- Linux 개발용 C++
선택적 구성 요소:
- Linux용 C++ CMake 도구
- IntelliCode
- Embedded 및 IoT 개발 도구
유니버설 Windows 플랫폼 개발
Included:
- Visual Studio용 Blend
- .NET 네이티브 및 .NET Standard
- NuGet 패키지 관리자
- 유니버설 Windows 플랫폼 도구
- Windows 10 SDK(이 Visual Studio 버전의 최신 버전)
선택적 구성 요소:
- IntelliCode
- IntelliTrace(Enterprise만 해당)
- USB 디바이스 연결
- C++(v143) 유니버설 Windows 플랫폼 도구
- C++(v142) 유니버설 Windows 플랫폼 도구
- C++(v141) 유니버설 Windows 플랫폼 도구
- DirectX용 그래픽 디버거 및 GPU 프로파일러
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- 아키텍처 및 분석 도구
- IntelliCode
- IntelliTrace(Enterprise만 해당)
- USB 디바이스 연결
- C++(v142) 유니버설 Windows 플랫폼 도구
- C++(v141) 유니버설 Windows 플랫폼 도구
- DirectX용 그래픽 디버거 및 GPU 프로파일러
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- 아키텍처 및 분석 도구
C++ 게임 개발
Included:
- C++ 핵심 기능
- Windows 유니버설 C 런타임
- C++ 2019 재배포 가능 업데이트
- MSVC v143 - VS 2022 C++ x64/x86 빌드 도구(최신 버전)
선택적 구성 요소:
- C++ 프로파일링 도구
- C++ AddressSanitizer
- Windows 10 SDK(이 Visual Studio 버전의 최신 버전)
- IntelliCode
- IntelliTrace(Enterprise만 해당)
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- IncrediBuild - 빌드 가속화
- Cocos
- 언리얼 엔진 설치 관리자
- Unreal 엔진용 Android IDE 지원
- C++ 핵심 기능
- Windows 유니버설 C 런타임
- C++ 2019 재배포 가능 업데이트
- MSVC v142 - VS 2019 C++ x64/x86 빌드 도구(최신 버전)
선택적 구성 요소:
- C++ 프로파일링 도구
- Windows 10 SDK(이 Visual Studio 버전의 최신 버전)
- IntelliCode
- IntelliTrace(Enterprise만 해당)
- Windows 11 SDK
- Windows 10 SDK(기타 버전)
- IncrediBuild - 빌드 가속화
- Cocos
- 언리얼 엔진 설치 관리자
- Unreal 엔진용 Android IDE 지원
C++를 사용한 모바일 개발
Included:
- C++ 핵심 기능
- Android SDK 설치(API 레벨 25)(C++를 통해 모바일 개발을 할 수 있도록 로컬 설치)
선택적 구성 요소:
- Android NDK(R21E)
- Apache Ant(1.9.3)
- C++ Android 개발 도구
- IntelliCode
- Intel HAXM(Hardware Accelerated Execution Manager)(로컬 설치)
- C++ iOS 개발 도구
- IncrediBuild - 빌드 가속화
- Android NDK(R16B)
- Apache Ant(1.9.3)
- C++ Android 개발 도구
- IntelliCode
- Google Android 에뮬레이터(API 레벨 25)(로컬 설치)
- Intel HAXM(Hardware Accelerated Execution Manager)(로컬 설치)
- Android NDK(R16B)(32비트)
- C++ iOS 개발 도구
- IncrediBuild - 빌드 가속화
개별 구성 요소
이러한 구성 요소는 모든 워크로드와 독립적으로 설치할 수 있습니다.
- JavaScript 진단
- Live Share
- v142 빌드 도구용 C++ 유니버설 Windows 플랫폼 런타임
- ClickOnce 게시 도구
- Microsoft Visual Studio 설치 관리자 프로젝트
- Windows SDK
라이브러리 및 헤더
- Windows 헤더 및 라이브러리
- Windows 유니버설 C 런타임(CRT)
- C++ 표준 라이브러리
- ATL
- MFC
- .NET Framework 클래스 라이브러리
- .NET용 C++ 지원 라이브러리
- OpenMP 2.0
- Vcpkg 카탈로그를 통한 900개가 넘는 오픈 소스 라이브러리
라이브러리 또는 헤더 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
Windows 헤더, 라이브러리 및 CRT 라이브러리 | (X) | X | X | X |
C++ 표준 라이브러리 | X | X | X | X |
ATL | X | X | ||
MFC | X | X | ||
.NET Framework 클래스 라이브러리 | X | X | X | |
.NET용 C++ 지원 라이브러리 | X | X | X | |
OpenMP 2.0 | X | X | X | X |
빌드 및 프로젝트 시스템
- CMake
- 폴더 열기를 통한 모든 빌드 시스템
- 명령줄 빌드(msbuild.exe)
- 네이티브 다중 대상 지정
- 관리되는 다중 대상 지정
- 병렬 빌드
- 빌드 사용자 지정
- 속성 페이지 확장성
빌드 또는 프로젝트 기능 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
명령줄 빌드(msbuild.exe) | X | X | X | X |
네이티브 다중 대상 지정 | X | X | X | |
관리되는 다중 대상 지정 | X | X | X | |
병렬 빌드 | X | X | X | X |
빌드 사용자 지정 | X | X | X | X |
속성 페이지 확장성 | X | X | X | X |
프로젝트 템플릿
설치한 워크로드에 따라 다음 프로젝트 템플릿을 사용할 수 있습니다.
Windows 데스크톱:
- 빈 프로젝트
- 콘솔 앱
- Windows 데스크톱 마법사
- Windows 데스크톱 애플리케이션
- 공유 항목 프로젝트
- MFC 앱
- 동적 연결 라이브러리
- CLR 빈 프로젝트
- CLR 콘솔 앱
- 정적 라이브러리
- CMake 프로젝트
- ATL 프로젝트
- MFC 동적 연결 라이브러리
- CLR 클래스 라이브러리
- 메이크파일 프로젝트(Windows)
- MFC ActiveXControl
- 기본 단위 테스트 프로젝트
- Google Test
유니버설 Windows 플랫폼(C++/CX):
- 빈 앱
- DirectX 11 및 XAML 앱
- DirectX 11 앱
- DirectX 12 앱
- 단위 테스트 앱
- DLL
- Windows 런타임 구성 요소
- 정적 라이브러리
- Windows 애플리케이션 패키징 프로젝트
Linux:
- 콘솔 앱(Linux)
- 빈 프로젝트(Linux)
- Raspberry Pi Blink
- 메이크파일 프로젝트(Linux)
템플릿 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
UWP, Windows 8.1, Windows Phone 8.0용 XAML 템플릿 | X | X | X | |
Direct3D 응용 프로그램 | X | X | X | |
DLL(유니버설 Windows) | X | X | X | |
정적 라이브러리(유니버설 Windows) | X | X | X | |
Windows 런타임 구성 요소 | X | X | X | |
단위 테스트 앱(유니버설 Windows) | X | X | X | |
ATL 프로젝트 | X | X | ||
클래스 라이브러리(CLR) | X | X | X | |
CLR 콘솔 애플리케이션 | X | X | X | |
CLR 빈 프로젝트 | X | X | X | |
사용자 지정 마법사 | X | X | ||
빈 프로젝트 | X | X | X | |
메이크파일 프로젝트 | X | X | X | |
MFC ActiveX 컨트롤 | X | X | ||
MFC 애플리케이션 | X | X | ||
MFC DLL | X | X | ||
테스트 프로젝트 | X | X | X | X |
Win32 콘솔 애플리케이션 | X | X | X | |
Win32 프로젝트 | X | X | X |
도구
- Incremental Linker(Link.exe)
- Microsoft 메이크파일 Utility(Nmake.exe)
- Lib Generator(Lib.exe)
- Windows Resource Compiler(Rc.exe)
- Windows Resource to Object Converter(CvtRes.exe)
- Browse Information Maintenance Utility(BscMake.exe)
- C++ Name Undecorator(Undname.exe)
- COFF/PE Dumper(Dumpbin.exe)
- COFF/PE Editor(Editbin.exe)
- MASM(Ml.exe)
- Spy++
- ErrLook
- AtlTrace
- 유추 규칙
- 프로필 기반 최적화
도구 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
Incremental Linker(Link.exe) | X | X | X | X |
Program Maintenance Utility(Nmake.exe) | X | X | X | |
Lib Generator(Lib.exe) | X | X | X | X |
Windows Resource Compiler(Rc.exe) | X | X | X | X |
Windows Resource to Object Converter(CvtRes.exe) | X | X | X | |
Browse Information Maintenance Utility(BscMake.exe) | X | X | X | X |
C++ Name Undecorator(Undname.exe) | X | X | X | X |
COFF/PE Dumper(Dumpbin.exe) | X | X | X | X |
COFF/PE Editor(Editbin.exe) | X | X | X | X |
MASM(Ml.exe) | X | X | ||
Spy++ | X | X | ||
ErrLook | X | X | ||
AtlTrace | X | X | ||
Devenv.com | X | X | ||
유추 규칙 | X | X | ||
MSBuild에 VCBuild.vcproj 프로젝트 업그레이드(VCUpgrade.exe) | X | X | X | X |
프로필 기반 최적화 | X | X |
디버깅 기능
- 네이티브 디버깅
- natvis(네이티브 형식 시각화)
- 그래픽 디버깅
- 관리 디버깅
- GPU 사용량
- 메모리 사용량
- Remote Debugging
- SQL 디버깅
- 정적 코드 분석
디버깅 기능 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
네이티브 디버깅 | X | X | X | X |
natvis(네이티브 형식 시각화) | X | X | X | X |
그래픽 디버깅 | X | X | X | |
관리 디버깅 | X | X | X | |
GPU 사용량 | X | X | X | |
메모리 사용량 | X | X | X | |
Remote Debugging | X | X | X | X |
SQL 디버깅 | X | X | ||
정적 코드 분석 | 제한됨 | 제한됨 | X | X |
디자이너 및 편집기
- XAML 디자이너
- CSS 스타일 디자이너/편집기
- HTML 디자이너/편집기
- XML 편집기
- 소스 코드 편집기
- 생산성 기능: 리팩터링, EDG IntelliSense 엔진, C++ 코드 서식 지정
- Windows Forms 디자이너
- 데이터 디자이너
- 네이티브 리소스 편집기(.rc 파일)
- 리소스 편집기
- 모델 편집기
- 셰이더 디자이너
- 실시간 종속성 유효성 검사(Enterprise만 해당)
- 아키텍처 계층 다이어그램(Enterprise만 해당)
- 아키텍처 유효성 검사(Enterprise만 해당)
- 코드 복제본(Enterprise만 해당)
디자이너 또는 편집기 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
XAML 디자이너 | X | X | X | |
CSS 스타일 디자이너/편집기 | X | X | X | X |
HTML 디자이너/편집기 | X | X | X | X |
XML 편집기 | X | X | X | X |
소스 코드 편집기 | X | X | X | X |
생산성 기능: 리팩터링, IntelliSense, C++ 코드 서식 지정 | X | X | X | X |
Windows Forms 디자이너 | X | X | X | |
데이터 디자이너 | X | X | ||
네이티브 리소스 편집기(.rc 파일) | X | X | ||
리소스 편집기 | X | X | X | X |
모델 편집기 | X | X | X | |
셰이더 디자이너 | X | X | X |
데이터 기능
- 데이터 디자이너
- 데이터 개체
- 웹 서비스
- 서버 탐색기
데이터 기능 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
데이터 디자이너 | X | X | ||
데이터 개체 | X | X | ||
웹 서비스 | X | X | ||
서버 탐색기 | X | X |
자동화 및 확장성
- 확장성 개체 모델
- 코드 모델
- 프로젝트 모델
- 리소스 편집기 모델
- 마법사 모델
- 디버거 개체 모델
자동화 및 확장성 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
확장성 개체 모델 | X | X | ||
코드 모델 | X | X | ||
프로젝트 모델 | X | X | ||
리소스 편집기 모델 | X | X | ||
마법사 모델 | X | X | ||
디버거 개체 모델 | X | X |
Application Lifecycle Management 도구
- 단위 테스트(Microsoft 네이티브 C++, Boost.Test, Google Test, CTest)
- 코드 맵 및 종속성 그래프(Professional 및 Enterprise)
- 코드 검사(Enterprise만 해당)
- 수동 테스트(Enterprise만 해당)
- 예비 테스트(Enterprise만 해당)
- 테스트 사례 관리(Enterprise만 해당)
- 코드 맵 디버거 통합(Enterprise만 해당)
- Live Unit Testing(Enterprise만 해당)
- IntelliTrace(Enterprise만 해당)
- IntelliTest(Enterprise만 해당)
- Microsoft Fakes(단위 테스트 격리)(Enterprise만 해당)
- 코드 검사(Enterprise만 해당)
도구 | Visual Studio Express for Windows | Visual Studio Express for Windows Desktop | Visual Studio Professional/Community | Visual Studio Enterprise |
---|---|---|---|---|
유닛 테스트(네이티브 프레임워크) | X | X | X | X |
유닛 테스트(관리되는 프레임워크) | X | X | X | |
코드 검사 | X | |||
수동 테스트 | X | |||
예비 테스트 | X | |||
테스트 사례 관리 | X | |||
코드 맵 및 종속성 그래프 | 읽기 전용 | X | ||
코드 맵 디버깅 | X |
참조
Visual Studio 설치
Visual Studio의 새로운 기능
Visual Studio의 C++ 프로젝트 형식