C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
C++17 Progress in VS 2017 15.5 and 15.6
Image Watch is now available for Visual Studio 2017
点这里看中文版 Image Watch is a Visual Studio extension that provides a watch window for viewing in-memory bitmaps when debugging native C++ code. It comes with built-in support for OpenCV image types (e.g. cv::Mat, cv::Mat_<> , etc.). We know that, for many of you, this is an important part of your C++ debugging experience. We have received many requests to support this extension on Visual Studio 2017 via survey responses, blog comments and Reddit conversations. We’re happy to announce that Image Watch for Visual Studio 2017 is now available for download in Visual Studio Marketplace. Getting started with Op...
Broken Warnings Theory
Перевод статьи на русском The "broken warnings theory" is a fictional theory of the norm-setting and signaling effect of coding practices and bug-checking techniques in 3rd party libraries on new bugs and design anti-patterns. The theory states that maintaining and monitoring warning levels to prevent small problems such as "signed/unsigned mismatch", "no effect before comma", and "non-standard extension used" helps to create an atmosphere of order and lawfulness, thereby preventing more serious bugs, like buffer overruns, from happening. Visual Studio 2017 version 15.6 Preview 1 comes with new ways to make...
Android NDK R15C support goes in-box in Visual Studio 2017 Version 15.6 Preview
Visual Studio has provided in-box support for building C++ Android and iOS apps or libraries since VS 2015, enabling cross-platform C++ mobile development with full editing and debugging capabilities all in one single IDE. Just recently, we updated the tools to make it easier for you to work with newer versions of the Android platform. This includes built-in support for Android SDK API level 25 that was shipped in VS 2017 Version 15.5 and support for Android NDK R15C that just went out last week in the first preview of VS 2017 Version 15.6. You can either download the Preview, or, if you already have it installe...
Visual Studio Code C/C++ extension Dec 2017 update – support for more Linux distros
Happy holidays! Today we’re shipping the December 2017 update to the Visual Studio Code C/C++ extension – our last major update of this year, with out-of-box support for more Linux distros and built-in guidance on how to configure for a better IntelliSense experience. The original blog post, which provides an overview of this extension, has been updated with these changes. Support for all Linux distros that VS Code runs on The extension now works on all the Linux distros that VS Code runs on. Specifically, the following two scenarios are now supported: - The extension no longer requires GLIBC 2.18 as a dependenc...
C++17 Feature Removals And Deprecations
Technology advances by inventing new ways of doing things and by discarding old ways. The C++ Standardization Committee is simultaneously adding new features and removing old features at a gradual pace, because we've discovered thoroughly better ways of writing code. While feature removals can be annoying, in the sense that programmers need to go change old codebases in order to make them conform to new Standards, they're also important. Feature removals simplify the Core Language and Standard Library, avoiding the doom of accreting complexity forever. Additionally, removing old features makes it easier to read a...
MSVC code optimizer improvements in Visual Studio 2017 versions 15.5 and 15.3
In this post, we’d like to give you an update on the significant progress the Visual C++ code optimizer made in the past year, focused mostly on the features released in the 15.3 and 15.5 versions. Compared to VS2015 Update 3, VS2017 15.5 provides on average an 8.9% increase in runtime speed in the SPEC 2017 benchmark (for detailed numbers see slide 12 from the CppCon presentation or the CppCon session video). The following sections of this post will go through some of the new optimizations and improvements that are being made available with the latest version, hopefully giving an interesting overview over the...
Improving the debugging experience for std::function
[Update: This functionality is now enabled via the "Just My Code" feature in Visual Studio for any STL types or 3rd-party library types of your choosing. For more details, check out C++ Just My Code Stepping with Visual Studio blogpost] We received a Visual Studio User Voice suggestion to make "StepInto" go directly to user code, skipping past standard library (std::function) implementation details. We recently worked on this suggestion and implemented it in the last version of Visual C++. The issue: Single-stepping through a call to an instance of std::function was a particular pain point. When debugging, y...
MSVC conformance improvements in Visual Studio 2017 version 15.5
The MSVC toolset included in Visual Studio version 15.5 preview 4 includes many C++ conformance improvements. Throughout the VS2015 and VS2017 releases we've focused on conformance with C++ standards, including C++17 features. With VS2017 version 15.5, MSVC has implemented about 75% of C++17 core language and library features. These features can be enabled by using the /std:c++17 version switch. Note that some of these features were included in the 15.3 cycle and completed in the 15.5 cycle. We've also made significant progress on fix...