C++ Team Blog

C++ tutorials, C and C++ news, and information about Visual Studio, Visual Studio Code, and Vcpkg from the Microsoft C++ team.

Improving code generation time with C++ Build Insights
Improving code generation time with C++ Build Insights
Code generation time is a significant contributor to total build time for optimized builds. During this step of the compilation process, source code is passed through several algorithms that transform your program into an optimized version that can be executed more efficiently. In general, the optimization of a C++ function happens quickly and
Visual Studio Code C++ Extension July 2020 Update: Doxygen comments and Logpoints
Visual Studio Code C++ Extension July 2020 Update: Doxygen comments and Logpoints
The July 2020 update of the Visual Studio Code C++ extension is now available. This latest release offers brand new features, such as the visualization of Doxygen comments and support for Logpoints while debugging (GDB/LLDB), along with a bunch of enhancements and bug fixes. To find out more about all the changes, check out our release notes o
Initial Support For C++20 Ranges 
Initial Support For C++20 Ranges 
We are happy to announce that Visual Studio 2019 version 16.6 contains the first user-visible pieces of C++20 Ranges support. We’ve been working on support machinery for a few releases now, but in this release the tip of the iceberg has finally broken the surface of the water and there are now some tools available for users. The Ra
C++20 Features and Fixes in VS 2019 16.1 through 16.6
C++20 Features and Fixes in VS 2019 16.1 through 16.6
What's New We've been busy implementing C++20 features in MSVC's compiler and Standard Library, and migrating the latter to microsoft/STL on GitHub - in fact, we've been so busy that we haven't posted a C++ toolset changelog since the VS 2019 16.0 toolset changelog. So, here are the compiler features and STL features/fixes that have shipped
Linux development with Visual Studio: first-class support for gdbserver, improved build times with Ninja, and updates to the Connection Manager
Linux development with Visual Studio: first-class support for gdbserver, improved build times with Ninja, and updates to the Connection Manager
With Visual Studio 2019 you can build and debug C++ projects on a remote Linux system or the Windows Subsystem for Linux (WSL). You can get started with Linux development in Visual Studio using MSBuild-based Linux projects or our native support for CMake. CMake lets you use the same source code and build scripts to target multiple platforms an
Profiling template metaprograms with C++ Build Insights
Profiling template metaprograms with C++ Build Insights
The use of templates in C++ programs can sometimes lead to longer builds. C++ Build Insights puts tools at your disposal for analyzing template usage patterns and their associated impact on build time. In this article, we show you how to use the vcperf analysis tool and the C++ Build Insights SDK to understand and fix problematic template patt
Join us this week at Microsoft Build digital event
Join us this week at Microsoft Build digital event
We are looking forward to this week's main event, Microsoft Build 2020. Build 2020 starts tomorrow Tuesday, May 19 and will run for 48 continuous hours as a digital-only event that is open to anyway around the world, at no cost. This is the first major tech conference to go full-digital with an experience designed from the ground-up for a virt
Visual Studio Code C++ extension: May 2020 update
Visual Studio Code C++ extension: May 2020 update
The May 2020 update of the Visual Studio Code C++ extension is now available. This latest release offers brand new features—ARM and ARM64 IntelliSense modes and C++ language-specific code folding—along with a bunch of enhancements and bug fixes. To find out more about all the changes, check out our release notes on GitHub. ARM and ARM64 I
Faster builds with PCH suggestions from C++ Build Insights
Faster builds with PCH suggestions from C++ Build Insights
The creation of a precompiled header (PCH) is a proven strategy for improving build times. A PCH eliminates the need to repeatedly parse a frequently included header by processing it only once at the beginning of a build. The selection of headers to precompile has traditionally been viewed as a guessing game, but not anymore! In this article,