C++ Team Blog

The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team

Latest posts

C++20 Features and Fixes in VS 2019 16.1 through 16.6
Jul 2, 2020
Post comments count 16
Post likes count 0

C++20 Features and Fixes in VS 2019 16.1 through 16.6

Stephan T. Lavavej - MSFT
Stephan T. Lavavej - MSFT

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 for production use in the last year. As a reminder, the /std:c++17 and /std:c++latest compiler options are necessary to use C++17 and C++20 features.   VS 2019 16.1 New features (all thanks to our intern Paolo Torres):   New l...

Linux development with Visual Studio: first-class support for gdbserver, improved build times with Ninja, and updates to the Connection Manager
Jun 2, 2020
Post comments count 7
Post likes count 0

Linux development with Visual Studio: first-class support for gdbserver, improved build times with Ninja, and updates to the Connection Manager

Erika Sweet
Erika Sweet

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 and is our recommendation for anything cross-platform or with an eye to open-sourcing. This blog post covers recent improvements to our Linux support in Visual Studio, including: More details on all these new features are listed below. Improved build times wi...

Profiling template metaprograms with C++ Build Insights
May 28, 2020
Post comments count 2
Post likes count 0

Profiling template metaprograms with C++ Build Insights

Kevin Cadieux
Kevin Cadieux

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 patterns. We demonstrate the practical use of these tools through a case study in which we reduced build time for the Sprout open-source metaprogramming library by 25%. We hope these methods will help you approach your template endeavors with confidence! How to obtain and use...

Join us this week at Microsoft Build digital event
May 18, 2020
Post comments count 0
Post likes count 0

Join us this week at Microsoft Build digital event

Marian Luparu
Marian Luparu

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 virtual audience. The C++ team is excited to be a part of this event and we'd like to invite you all to join us. At Build, we will demo the new capabilities our team has been working on recently. Our partner teams at Microsoft will also showcase new services and tools that yo...

Visual Studio Code C++ extension: May 2020 update
May 14, 2020
Post comments count 5
Post likes count 0

Visual Studio Code C++ extension: May 2020 update

Julia Reid
Julia Reid

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 IntelliSense modes With the May 2020 update, you can configure the C++ extension to provide proper IntelliSense when cross-compiling for ARM and ARM64. This means you're compiling for a different architecture than your host development machine. All you need to do is set your com...

Faster builds with PCH suggestions from C++ Build Insights
May 8, 2020
Post comments count 14
Post likes count 0

Faster builds with PCH suggestions from C++ Build Insights

Kevin Cadieux
Kevin Cadieux

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, we will show you how to use the vcperf analysis tool and the C++ Build Insights SDK to pinpoint the headers you should precompile for your project. We’ll walk you through building a PCH for the open source Irrlicht project, yielding a 40% build time improvement. How to ob...

Pure Virtual C++ Conference 2020 Videos and Survey Available
May 6, 2020
Post comments count 0
Post likes count 0

Pure Virtual C++ Conference 2020 Videos and Survey Available

Sy Brand
Sy Brand

The videos of all Pure Virtual C++ 2020 sessions are now available on YouTube. If you attended the conference, we'd love to hear your feedback. Please fill in our survey so we know what to improve if we run another similar event in the future!

Vcpkg 2020.04 Update and Product Roadmap
May 1, 2020
Post comments count 6
Post likes count 0

Vcpkg 2020.04 Update and Product Roadmap

Augustin Popa
Augustin Popa

This is the April 2020 blog post on vcpkg, the cross-platform, open source C/C++ library manager. In this post, we will share some information on the 2020.04 release of vcpkg and discuss the vcpkg product roadmap, which we are publishing and will keep up to date over time. To try out vcpkg for yourself and save yourself some time acquiring your project dependencies, follow the instructions on our GitHub repository.   March Vcpkg Activity We want to start by thanking our contributors to the vcpkg project on GitHub. The following people contributed PRs that were merged to the master branch in March, not i...

Finding build bottlenecks with C++ Build Insights
Apr 22, 2020
Post comments count 23
Post likes count 0

Finding build bottlenecks with C++ Build Insights

Kevin Cadieux
Kevin Cadieux

C++ Build Insights offers more than one way to investigate your C++ build times. In this article, we discuss two methods that you can use to identify bottlenecks in your builds: manually by using the vcperf analysis tool, or programmatically with the C++ Build Insights SDK. We present a case study that shows how to use these tools to speed up the Git for Windows open source project. We hope these tutorials will come in handy when analyzing your own builds. How to obtain and use vcperf The examples in this article make use of vcperf, a tool that allows you to capture a trace of your build and to view it in t...