Microsoft C++ (MSVC) is the comprehensive C and C++ development toolchain that ships as part of Visual Studio on Windows. It encompasses everything you need to write, build, debug, analyze, and deploy C++ applications — from simple command-line utilities to the most sophisticated Windows desktop software, Universal Windows Platform (UWP) apps, cross-platform libraries, cloud services, and even embedded and IoT firmware. MSVC lets you target Windows (x86, x64, ARM64), Linux, Android, and iOS from a single development environment, making it one of the most versatile C++ toolchains available.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/MicrosoftDocs/cpp-docs/llms.txt
Use this file to discover all available pages before exploring further.
What is MSVC?
MSVC refers to the entire Microsoft C/C++ development stack. At its core sitscl.exe, the Microsoft C/C++ compiler, which produces highly optimized native binaries and supports the latest C++ standards through C++23 and beyond. Alongside the compiler you get link.exe for linking object files and libraries, the Microsoft C Runtime Library (CRT), a fully conformant C++ Standard Library implementation, a world-class interactive debugger, static analysis tools, and deep IDE integration through Visual Studio.
The toolchain is versioned independently of the IDE: Visual Studio 2022 ships toolset v143, Visual Studio 2019 ships v142, and Visual Studio 2017 ships v141. You can install multiple toolsets side-by-side and choose which one to build with on a per-project basis, making it straightforward to maintain legacy projects while adopting the newest compiler features.
Core Components
cl.exe — The Compiler
Compiles C and C++ source files to native object code. Supports C++11 through C++23, language extensions, and a rich set of optimization flags including
/O2, /GL (whole-program optimization), and /arch for targeting specific CPU instruction sets.link.exe — The Linker
Links object files and static/import libraries into executables, DLLs, and static libraries. Supports incremental linking, profile-guided optimization (PGO), and control-flow guard (CFG) security mitigations.
C++ Standard Library
A fully conformant implementation of the ISO C++ Standard Library (
<vector>, <string>, <algorithm>, <ranges>, and more). Ships with every Visual Studio installation and is updated to track the latest standard revisions.C Runtime Library (CRT)
Provides foundational C runtime functions (
malloc, printf, file I/O, and more). The Universal CRT (UCRT) ships as part of Windows, while the Visual C++ CRT provides compiler-specific additions and security-enhanced variants.Visual Studio Debugger
A native-code debugger that supports breakpoints, conditional breakpoints, watch windows, the Autos/Locals pane, Edit and Continue, Just My Code, call-stack inspection, and remote debugging on Linux and Windows targets.
Static Analysis & Profiler
Built-in C++ Core Guidelines checkers, SAL annotation support, and the Visual Studio profiler (CPU sampling, instrumentation, memory usage) let you find and fix issues before they reach production.
Who Is MSVC For?
MSVC serves a wide spectrum of developers:- Systems programmers building operating system components, device drivers, or low-latency infrastructure.
- Game developers targeting DirectX on Windows or writing cross-platform engines with Unreal or custom frameworks.
- Application developers creating traditional Win32 desktop apps, MFC applications, or modern UWP apps.
- Embedded and IoT engineers cross-compiling for ARM and ARM64 targets.
- Cross-platform developers who need to ship on both Windows and Linux from a single codebase using CMake.
- Academics and students learning modern C++ in a full-featured, professionally supported environment.
Explore the Getting Started Guides
What Is MSVC?
Deep dive into the MSVC toolset: cl.exe, link.exe, the Standard Library, CRT, and toolset version numbers.
Supported Platforms
See every target OS and architecture that MSVC supports, from Windows x86 to Linux ARM64.
Installation
Step-by-step guide to downloading Visual Studio and selecting the right workloads for C++ development.
Your First Project
Create a new C++ console application project and understand the Visual Studio solution structure.
Build and Run
Learn how to compile with Ctrl+Shift+B, run with Ctrl+F5, and interpret the Output and Error List windows.
Console App Tutorial
Build a fully functional calculator app step by step, with debugging and error handling.
CMake Tutorial
Set up a CMake project in Visual Studio, configure targets, and build cross-platform code.
Linux Development Tutorial
Target Linux from Visual Studio using WSL or a remote machine with the Linux workload.
Visual Studio 2022 runs natively as a 64-bit application and is the recommended version for all new C++ development. The Community edition is free for individual developers, open-source projects, academic research, and classroom use.