C++ Team Blog

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

Latest posts

Oct 25, 2021
Post comments count 15
Post likes count 1

18x Faster IntelliSense for Unreal Engine Projects in Visual Studio 2022

David Li

We joined forces with Epic Games to bring faster semantic highlighting and IntelliSense ready to Visual Studio 2022 for Unreal Engine developers. In this blog post, we will detail how we worked with the Unreal Engine team to significantly speed up IntelliSense ready by 18x.

Oct 25, 2021
Post comments count 0
Post likes count 0

Microsoft C++ Team at CppCon 2021

Sy Brand

The Microsoft C++ team has an exciting lineup of sessions at CppCon 2021. Many of us will also be present at our team’s booth in the main hall for the first two days of the conference. Come say hi and let us know if you have any questions about our talks, products, or anything else! You can also join the #visual_studio channel on the CppCon Discord to talk to us. We’re also running a survey on the C++ ecosystem. If you have a moment, please take our survey, it's quick. Here’s the lineup: Monday, October 25th 15:15 – 16:15 (MDT): Implementing C++ Modules: Lessons Learned, Lessons Abandoned by Gabrie...

Oct 15, 2021
Post comments count 3
Post likes count 0

A Race Condition in .NET Finalization and its Mitigation for C++/CLI

Tanveer Gani

Race conditions can occur in .NET finalization. This article explains the solution implemented in MSVC.

Oct 8, 2021
Post comments count 2
Post likes count 0

Improved Null Pointer Dereference Detection in Visual Studio 2022 version 17.0 Preview 4

Gabor Horvath

Improved Null Pointer Dereference Detection in Visual Studio 2022

Sep 13, 2021
Post comments count 2
Post likes count 0

Static Analysis Fixes in Visual Studio 2019 version 16.11

Gabor Horvath

List of Code Analysis Fixes in Visual Studio 2019 16.11

Sep 2, 2021
Post comments count 2
Post likes count 0

MSVC C++20 and the /std:c++20 Switch

Daniel Griffing

We are excited to announce that in Visual Studio 2019 version 16.11, we have added the switch to the set of language mode switches available. The addition of this switch indicates that we’ve reached a point of sufficient stabilization of the MSVC C++20 feature set for it be used in production, with full support in VS servicing updates. This blog post focuses on describing our level of C++20 feature support, compiler-supported extensions, and the remaining feature set differences between MSVC and the ISO C++ standard as of Visual Studio 2019 version 16.11 and Visual Studio 2022 version 17.0 C++ Language Modes...

Aug 31, 2021
Post comments count 3
Post likes count 1

C++20 Coroutine Improvements in Visual Studio 2019 version 16.11

Jonathan Emmett

This post includes contributions from Terry Mahaffey and Ramkumar Ramesh. We last blogged about coroutine support in Visual Studio 2019 version 16.8. In the releases since 16.8 we've introduced several new coroutine features and improvements. This post is a round up of those improvements, all available in Visual Studio 2019 16.11. Debugging Improvements Since Visual Studio 2019 version 16.9, stepping into a coroutine call will now land directly in the coroutine body (unless it is set to initially suspend, in which case the step becomes a “step over”). Stepping over a will land in the logical statement f...

Aug 24, 2021
Post comments count 6
Post likes count 0

New Compiler Warnings for Dynamic Initialization and User Defined Sections

Xiang Fan

We've added two new warnings to MSVC for misuses of binary sections reserved for the compiler. This short post will explain the issues which they warn against, and potential fixes for your code. The MSVC C++ compiler provides several ways to create sections and place data in them. The linker will convert them into the 'sections' in the PE (Portable Executable) format. The compiler also creates some sections itself. One example is the section , which is used to implement C++ dynamic initialization (there are other sections for this purpose, too). The name of the section is mentioned in articles like CRT Init...

Aug 11, 2021
Post comments count 1
Post likes count 0

Attach to a Remote Process with LLDB in Visual Studio 2022 Preview 3

Erika Sweet

You can now use Attach to Process to remote debug processes with GDB or LLDB in Visual Studio. The ability to attach to a process running on a remote system with GDB was added in Visual Studio 2019. The ability to attach to a process with LLDB is new in Visual Studio 2022 Preview 3. Remote debugging in Visual Studio is especially valuable for teams who write cross-platform C++ code that runs on Windows and Linux or macOS. For example, if you use Windows + Visual Studio as your primary development environment, then you may need to occasionally debug code running on Linux or macOS. Rather than switching platform...