C++ Team Blog

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

C++ Extension in VS Code 1.18 Release: Quick Fixes for missing header files, Extract to Function & More 

The 1.18 version of the C++ Extension in Visual Studio Code has been released. With this version of the extension, we have added several new features such as:    For the full list of changes, please reference the 1.18 release notes.   Quick Fixes for missing header files  Have you ever written C++ code and ...

Improving the State of Debug Performance in C++

In this blog we will explore one change the MSVC compiler has implemented in an effort to improve the codegen quality of applications in debug mode. We will highlight what the change does, and how it could be extended for the future. If debug performance is something you care about for your C++ projects, then Visual Studio 2022 version 17.5 is...

How we used C++20 to eliminate an entire class of runtime bugs

C++20 is here and has been supported in MSVC since 16.11, but today's post is not about how you can use it, but rather how we used it to effectively eliminate an entire class of runtime bugs by hoisting a check into compile-time. Let's get right into it! Humble beginnings In compiler design one of the very first things you need is a way to ...

Use Boost.Hana via vcpkg with the latest MSVC compiler

Overview As we continue to work towards improving the conformance of the MSVC compiler for the C++ community, we would like to enable more C++ libraries, and today we are bringing Boost.Hana to Visual C++.  Building on our recent C++ conformance progress, customers can now use Boost.Hana with the VS2017 15.7 update after we've applied some ...

Announcing: MSVC Conforms to the C++ Standard

Achieving conformance with the C++ Standards has been a long road for the Visual C++ team. If you've seen us at any conferences lately, you've probably seen the MSVC Conformance slide. (You can grab a copy of the slide or watch the 2017 CppCon talk here.) Finishing the features on this slide – which includes features from C++11, C++14, and C...

New Options for Managing Character Sets in the Microsoft C/C++ Compiler

The Microsoft C/C++ compiler has evolved along with DOS, 16-bit Windows, and 32/64-bit Windows.  Its support for different characters sets, code pages, and Unicode has also changed during this time.  This post will explain how our compiler has worked in the past and also cover some new switches provided by the C/C++ compiler in Visual ...
Comments are closed.0 1
C++

Compiler improvements in VS 2015 Update 2

The C++ compiler team is excited for you to try out the compiler in Visual Studio 2015 Update 2 CTP 1. Since Update 1 we’ve made progress on being Standards-conformant for lot of C++11 and C++14 features. One particularly big milestone is that our standard library in Update 2 supports every C++ Standard Library feature that’s been voted ...
Comments are closed.0 0
C++

What's inside a PDB File?

Background We have all used the Visual Studio Debugger to step through code, in the hunt for bugs.  For C or C++ code, that Debugger relies upon a file, with the extension ".pdb", called the "Program DataBase", or simply "the PDB".  The PDB is written by the Linker when you build your program; it contains line-number and symbols ...
Comments are closed.0 0
C++

What’s inside a PDB File?

Background We have all used the Visual Studio Debugger to step through code, in the hunt for bugs.  For C or C++ code, that Debugger relies upon a file, with the extension ".pdb", called the "Program DataBase", or simply "the PDB".  The PDB is written by the Linker when you build your program; it contains line-number and symbols ...
Comments are closed.0 0
C++

Clang with Microsoft CodeGen (January 2016) released

We have just released an out-of-band update of Clang/C2 toolset that brings in some of the community fixes as well as bugs found from testing. This is one of many rapid releases to come in the future, and issues reported from customers will be addressed progressively. Here we only list the changes since the previous release, for a more ...