다음 C++ 기능은 Visual Studio에서 사용할 수 있습니다. 별도로 명시되지 않는 한 모든 기능은 모든 버전에서 사용할 수 있습니다. Visual Studio Community, Visual Studio Professional 및 Visual Studio Enterprise. 일부 기능에는 Visual Studio 설치 관리자를 사용하여 설치할 수 있는 특정 워크로드 또는 선택적 구성 요소가 필요합니다.
다음 표에서는 Visual Studio 2017에서 사용할 수 있는 C++ 기능을 보여 줍니다. 셀에 X가 있으면 해당 기능을 사용할 수 있음을 나타내고, 셀이 비어 있으면 해당 기능을 사용할 수 없음을 나타냅니다. 괄호 안의 참고 사항은 해당 기능을 사용할 수 있지만 제한됨을 나타냅니다.
플랫폼
- Windows 데스크톱
- 유니버설 Windows 플랫폼((태블릿, PC, Xbox, IoT 및 HoloLens))
- Linux
- Android
- iOS
중요합니다
Visual Studio 2026(버전 18.0)부터 iOS 및 Android용 C++ 워크로드와 포함된 및 IoT 도구(RTOS 뷰어, 직렬 모니터, 주변 장치 뷰어 및 ST 프로젝트 가져오기)를 사용한 모바일 개발은 더 이상 지원되지 않으며 향후 업데이트에서 제거될 예정입니다. C++ 워크로드를 사용하는 모바일 개발에 포함된 Android NDK는 계속 지원됩니다.
| 플랫폼 | Windows 10용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | Visual Studio 커뮤니티/프로페셔널 | Visual Studio Enterprise |
|---|---|---|---|---|
| Windows 데스크톱 | 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 설치.
| 컴파일러 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | Visual Studio Professional/Community | Visual Studio Enterprise |
|---|---|---|---|---|
| MSVC 32비트 X86 컴파일러 | X | X | X | X |
| x86_arm 크로스 컴파일러 | X | X | X | |
| MSVC 64비트 x64 컴파일러 | X | X | ||
| x86_x64 교차 컴파일러 | 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)
- Boost.Test용 테스트 어댑터
- Test Adapter for Google Test
- Live Share
- IntelliCode
- C++ AddressSanitizer (메모리 오류 감지를 위한 C++ 도구)
- 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)
- Boost.Test용 테스트 어댑터
- Test Adapter for Google Test
- Live Share
- IntelliCode
- C++ AddressSanitizer (메모리 오류 감지를 위한 C++ 도구)
- 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 (메모리 오류 감지를 위한 C++ 도구)
- 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++를 사용한 모바일 개발
중요합니다
Visual Studio 2026(버전 18.0)부터 iOS 및 Android용 C++ 워크로드와 포함된 및 IoT 도구(RTOS 뷰어, 직렬 모니터, 주변 장치 뷰어 및 ST 프로젝트 가져오기)를 사용한 모바일 개발은 더 이상 지원되지 않으며 향후 업데이트에서 제거될 예정입니다. C++ 워크로드를 사용하는 모바일 개발에 포함된 Android NDK는 계속 지원됩니다.
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개가 넘는 오픈 소스 라이브러리
| 라이브러리 또는 헤더 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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)
- 네이티브 다중 대상 지정
- 관리되는 다중 대상 지정
- 병렬 빌드
- 빌드 사용자 지정
- 속성 페이지 확장성
| 빌드 또는 프로젝트 기능 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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 액티브엑스컨트롤
- 기본 단위 테스트 프로젝트
- Google Test
유니버설 Windows 플랫폼(C++/CX):
- 빈 앱
- DirectX 11 및 XAML 앱
- DirectX 11 앱
- DirectX 12 앱
- 단위 테스트 앱
- DLL
- Windows 런타임 구성 요소
- 정적 라이브러리
- Windows 애플리케이션 패키징 프로젝트
Linux:
- 콘솔 앱(Linux)
- 빈 프로젝트(Linux)
- Raspberry Pi Blink
- 메이크파일 프로젝트(Linux)
| 템플릿 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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
- 유추 규칙
- 프로필 기반 최적화
| 도구 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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 사용량
- 메모리 사용량
- 원격 디버깅
- SQL 디버깅
- 정적 코드 분석
| 디버깅 기능 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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 | |
| 원격 디버깅 | X | X | X | X |
| SQL 디버깅 | X | X | ||
| 정적 코드 분석 | 제한됨 | 제한됨 | X | X |
디자이너 및 편집기
- XAML 디자이너
- CSS 스타일 디자이너/편집기
- HTML 디자이너/편집기
- XML 편집기
- 소스 코드 편집기
- 생산성 기능: 리팩터링, EDG IntelliSense 엔진, C++ 코드 서식 지정
- Windows Forms 디자이너
- 데이터 디자이너
- 네이티브 리소스 편집기(.rc 파일)
- 리소스 편집기
- 모델 편집기
- 셰이더 디자이너
- 실시간 종속성 유효성 검사(Enterprise만 해당)
- 아키텍처 계층 다이어그램(Enterprise만 해당)
- 아키텍처 유효성 검사(Enterprise만 해당)
- 코드 복제본(Enterprise만 해당)
| 디자이너 또는 편집기 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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 |
데이터 기능
- 데이터 디자이너
- 데이터 개체
- 웹 서비스
- 서버 탐색기
| 데이터 기능 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | Visual Studio Professional/Community | Visual Studio Enterprise |
|---|---|---|---|---|
| 데이터 디자이너 | X | X | ||
| 데이터 개체 | X | X | ||
| 웹 서비스 | X | X | ||
| 서버 탐색기 | X | X |
자동화 및 확장성
- 확장성 개체 모델
- 코드 모델
- 프로젝트 모델
- 리소스 편집기 모델
- 마법사 모델
- 디버거 개체 모델
| 자동화 및 확장성 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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만 해당)
| 도구 | Windows용 Visual Studio Express | Windows 데스크톱용 Visual Studio Express | 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++ 프로젝트 형식