C++ Team Blog

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

Latest posts

Sign Up For Pure Virtual C++ Conference 2020
Apr 16, 2020
Post comments count 0
Post likes count 0

Sign Up For Pure Virtual C++ Conference 2020

Sy Brand
Sy Brand

Pure Virtual C++ 2020 is a free single-track one-day virtual conference for the whole C++ community. It is taking place on Thursday 30th April 2020 from 14:30 to 23:00 UTC. Sign up on the event website. All talks will be pre-recorded and streamed on YouTube Live with a live Q&A session with the speakers. After the event, the talks will be available to watch online for free. The Pure Virtual C++ conference organized by Microsoft will be run under the Berlin Code of Conduct. The preliminary schedule is (all times UTC): Get involved in the conversation on Twitter usi...

GSL 3.0.0 Release
Apr 16, 2020
Post comments count 2
Post likes count 0

GSL 3.0.0 Release

Jordan Maples
Jordan Maples

Update June 4th, 2020 - GSL version 3.1.0 has been released. Please see the latest release page for information regarding GSL 3.1.0. For all future updates, please see refer to the release page on GitHub.   GSL 3.0.0 Release Version 3.0.0 of Microsoft's implementation of the C++ Core Guidelines Support Library (GSL) is now available for you to download on the releases page. Microsoft’s implementation of has played a pivotal role in the standardization of span for C++20. However, the standard does not provide any runtime checking guarantees for memory bounds safety. The bounds safety provided by has b...

MSVC Backend Updates in Visual Studio 2019 Version 16.5
Apr 8, 2020
Post comments count 1
Post likes count 0

MSVC Backend Updates in Visual Studio 2019 Version 16.5

Mei Xu
Mei Xu

In Visual Studio 2019 version 16.5 we have continued to improve the C++ backend with new features, new and improved optimizations, build throughput improvements, and better security. Here is a brief list of improvements for you to review. For additional optimizations implemented in MSVC in previous releases, check out our MSVC Backend Updates in Visual Studio 2019 Versions 16.3 and 16.4 Do you want to experience the new improvements of the C++ backend? Please download the latest Visual Studio 2019 and give it a try! Any feedback is welcome. We can be reached via the...

New templates for debugging CMake projects on remote systems and WSL in Visual Studio 2019
Apr 3, 2020
Post comments count 3
Post likes count 0

New templates for debugging CMake projects on remote systems and WSL in Visual Studio 2019

Erika Sweet
Erika Sweet

We heard your feedback that it can be difficult to configure debugging sessions on remote Linux systems or the Windows Subsystem for Linux (WSL). In Visual Studio 2019 version 16.6 Preview 2 we introduced a new debugging template to simplify debugging with gdb. The new cppgdb template We heard your feedback that the old debug configurations were too verbose, too confusing, and not well documented. The new cppgdb configuration has been simplified and looks like this: The new setting debuggerConfiguration indicates which set of debugging default values to use. In Visual Studio 2019 version ...

Porting a C++/CLI Project to .NET Core
Mar 30, 2020
Post comments count 11
Post likes count 0

Porting a C++/CLI Project to .NET Core

Mike Rousos
Mike Rousos

One of the new features of Visual Studio 2019 (beginning with version 16.4) and .NET Core 3.1 is the ability to build C++/CLI projects targeting .NET Core. This can be done either directly with cl.exe and link.exe (using the new option) or via MSBuild (using ). In this post, I'll walk through the steps necessary to migrate a simple C++/CLI interop project to .NET Core. More details can be found in .NET Core documentation. The sample project First, I need to make a sample solution to migrate. I'm going to use an app with a native entry point that displays a Windows Forms form via C++/CLI. Migrating a solution w...

Announcing full support for a C/C++ conformant preprocessor in MSVC
Mar 27, 2020
Post comments count 20
Post likes count 0

Announcing full support for a C/C++ conformant preprocessor in MSVC

Elnar Dakeshov
Elnar Dakeshov

Update June 8, 2021: The C11 and C17 announcement post has instructions on how to get the latest Windows SDK that works with the conformant preprocessor. We are excited to announce full support for a conformant preprocessor in the MSVC toolset starting with Visual Studio 2019 version 16.6 Preview 2. Since the original blog post announcing preprocessor conformance changes, we’ve come a long way and are now ready to announce the completion of the C/C++ conformant preprocessor and its move to a non-experimental, fully supported state via the switch. Alongside standard conformance, the preprocessor also suppor...

Doxygen and XML Doc Comment support
Mar 26, 2020
Post comments count 12
Post likes count 1

Doxygen and XML Doc Comment support

Nick Uhlenhuth
Nick Uhlenhuth

Whether you’re using Doxygen or XML Doc Comments, Visual Studio version 16.6 Preview 2 provides automatic comment stub generation as well as Quick Info, Parameter Help, and Member List tooltip support. Stub Generation By default, the stub generation is set to XML Doc Comments. The comment stub can be generated by typing a triple slash (///) or by using the documentation generation shortcut (Ctrl+/) above the function. XML Doc Comment Doxygen To switch to Doxygen, type “Doxygen” in the Ctrl+Q search box, or go to Tools > Options > Text Editor > C/C++ > > General, and choose your preferred doc...

IntelliSense Code Linter for C++
Mar 26, 2020
Post comments count 7
Post likes count 0

IntelliSense Code Linter for C++

Kyle Reed
Kyle Reed

Introducing the IntelliSense Code Linter for C++; a preview of "as-you-type" code analysis with fixups. Try it out today in Visual Studio 2019 16.6 Preview 2.

More Spectre Mitigations in MSVC
Mar 13, 2020
Post comments count 2
Post likes count 0

More Spectre Mitigations in MSVC

Daniel Donenfeld
Daniel Donenfeld

In a previous blog post, Microsoft described the Spectre mitigations available under . These mitigations, while not significantly impacting performance, do not protect against all possible speculative load attacks, described in industry research as Load Value Injection. We are now adding two new switches and to provide a more complete mitigation of Spectre attacks based on loads for customers. These switches are only available on x86 and x64 platforms. What do the new switches do? The flag specifies compiler generation of serializing instructions for every load instruction. For most loads, this entails addin...