C++ Team Blog

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

Latest posts

Sep 14, 2020
Post comments count 15
Post likes count 0

A Multitude of Updates in Visual Studio 2019 version 16.8 Preview 3

Sy Brand

Visual Studio 2019 version 16.8 Preview 3 comes with a huge collection of updates for C++ programmers. Download today to try out new additions in conformance, performance, and productivity. C++20 We’ve improved support for major C++20 features across our compiler, standard library, and IDE. You can now use Modules, Concepts, Coroutines, and (some of) Ranges all in the same project! C++20 Coroutines are now feature-complete and available under /std:c++latest. When using C++20 Coroutines you should include the <coroutine> header. Support for our legacy behaviour is available under <experimental/corout...

Sep 14, 2020
Post comments count 3
Post likes count 0

Debug Linux core dumps in Visual Studio

Erika Sweet

In Visual Studio 2019 version 16.8 Preview 3 we added the ability to debug Linux core dumps on the Windows Subsystem for Linux (WSL) or a remote Linux system directly from Visual Studio. This support is specific to the “Native Only" debugger type for unmanaged C++ code.  We understand that some teams develop on Windows but deploy to both Windows and Linux (or just Linux!) and rely on a CI system to catch Linux-specific errors. This feature will make your life easier if you run a Windows shop but deploy to Linux servers and want to debug crashes in a familiar environment. To get started, select Debug > Ot...

Sep 14, 2020
Post comments count 4
Post likes count 1

C++ Coroutines in Visual Studio 2019 Version 16.8

Jonathan Emmett

Please see our Visual Studio 2019 version 16.8 Preview 3 release notes for more of our latest features. It's been a long journey for coroutines in C++ and in MSVC. We announced an early preview of resumable functions in 2013, followed up by the switch and initial C++ standardization proposals in 2014, to proposal revisions in 2015, and have continued tracking the Coroutines TS (Technical Specification) progress through Visual Studio 2017 and 2019. With the adoption of coroutines into the C++ standard in 2019, we are now pleased to announce feature completion of C++20 coroutines in Visual Studio 2019 version 1...

Sep 14, 2020
Post comments count 37
Post likes count 0

Standard C++20 Modules support with MSVC in Visual Studio 2019 version 16.8

Cameron DaCamara

Please see our Visual Studio 2019 version 16.8 Preview 3 release notes for more of our latest features. It has been some time since our last update regarding C++ Modules conformance. The toolset, project system, and IDE teams have been hard at work to create a first class C++ Modules experience in Visual Studio 2019. There is a lot to share, so let's get right into it: What's new? Implies C++ Modules Since MSVC began down the path of implementing the Modules TS the toolset has always required the use of on any compilation. Since the merge of Modules into the C++20 standard (we ...

Sep 14, 2020
Post comments count 15
Post likes count 0

C11 and C17 Standard Support Arriving in MSVC

Elnar Dakeshov

Please see our Visual Studio 2019 version 16.8 Preview 3 release notes for more of our latest features. Update: Windows 10 SDK version 2104 has been released, which includes the changes needed for C11 and C17 as well as the conformant preprocessor. It can be downloaded here. To use this SDK, follow the instructions from step 3. Our team is happy to announce that C11 and C17 are becoming supported language versions in the MSVC compiler toolset starting with Visual Studio 2019 version 16.8 Preview 3! For many years Visual Studio has only supported C to the extent of it being required for C++. Things are ab...

Sep 14, 2020
Post comments count 4
Post likes count 0

vcpkg: Accelerate your team development environment with binary caching and manifests

Augustin Popa

 This post was updated on September 21, 2020 to add more information on the GitHub Packages binary caching example.  Please see our Visual Studio 2019 version 16.8 Preview 3 release notes for more of our latest features. September is the biggest month for us in the Microsoft C++ team as it’s CppCon month! Our team has many exciting announcements for you this week, including a significant update to the vcpkg library manager for C/C++. We are excited to announce support for vcpkg binary caching and manifest files. These are key features that have been requested by our users from the beginning, and are intended ...

Sep 10, 2020
Post comments count 0
Post likes count 0

Microsoft C++ Team at CppCon 2020

Will Buik

The Microsoft C++ team has an exciting lineup of sessions at CppCon 2020. Many of us will also be present at our team’s booth in the virtual exhibition hall throughout the conference. Come say hi and let us know if you have any questions about our talks, products, or anything else! We’ll be making a few exciting announcements about Visual Studio and Visual Studio Code. We’re also running a survey on the C++ ecosystem and giving away five copies of Microsoft Flight Simulator 2020 (one each day of the conference) to survey participants. If you have a moment, please take our survey, it's quick. Here’s the ...

Sep 4, 2020
Post comments count 6
Post likes count 0

New safety rules in C++ Core Check

Sunny Chatterjee

Rust and C++ are two popular systems programming languages. For years, the focus of C++ has been on performance. We are increasingly hearing calls from customers and security researchers that C++ should have stronger safety guarantees in the language. C++ often falls behind Rust when it comes to programming safety. Visual Studio 2019 version 16.7 contains four new rules in C++ Core Check to incorporate some safety features from Rust into C++.   For more detailed information on C++ Core Check, please see the C++ Core Guidelines Checker Reference documentation. If you’re just getting started with native code ana...

Sep 3, 2020
Post comments count 0
Post likes count 0

<bit> in Visual Studio 2019 version 16.8 Preview 2

Charlie Barto

Bit twiddling: “bit rotating and counting functions” and “integral power of two operations”.