C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
18x Faster IntelliSense for Unreal Engine Projects in Visual Studio 2022
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.
Microsoft C++ Team at CppCon 2021
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...
A Race Condition in .NET Finalization and its Mitigation for C++/CLI
Race conditions can occur in .NET finalization. This article explains the solution implemented in MSVC.
Improved Null Pointer Dereference Detection in Visual Studio 2022 version 17.0 Preview 4
Improved Null Pointer Dereference Detection in Visual Studio 2022
Static Analysis Fixes in Visual Studio 2019 version 16.11
List of Code Analysis Fixes in Visual Studio 2019 16.11
MSVC C++20 and the /std:c++20 Switch
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...
C++20 Coroutine Improvements in Visual Studio 2019 version 16.11
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...
New Compiler Warnings for Dynamic Initialization and User Defined Sections
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...
Attach to a Remote Process with LLDB in Visual Studio 2022 Preview 3
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...