Updates to Expression SFINAE in VS 2017 RC

Throughout the VS 2015 cycle we’ve been focusing on the quality of our expression SFINAE implementation. Because expression SFINAE issues can be subtle and complex we’ve been using popular libraries such as Boost and Microsoft’s fork of Range-v3 to validate our implementation and find remaining bugs. As we shift the compiler team’s focus to Visual Studio… Read more

Standards version switches in the compiler

Shareable link: https://aka.ms/versionswitches Official documentation on docs.microsoft.com. This blog post written by Gabriel Dos Reis, Ulzii Luvsanbat, and Andrew Pardoe. In Visual C++ 2015 Update 3 we are introducing tools to help you control the version of the ISO C++ programming language you depend on and the version you want VC++ to enforce in your projects…. Read more

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… Read more

Clang with Microsoft CodeGen in VS 2015 Update 1

[This post was written by Dave Bartolomeo and the Clang/C2 feature crew] One of the challenges with developing and maintaining cross-platform C++ code is dealing with different C++ compilers for different platforms. You write some code that builds fine with the Visual C++ compiler for your Windows-targeting build, but then your Android-targeting build breaks because… Read more

C++ Core Guidelines Checkers available for VS 2015 Update 1

[This post was written by Andrew Pardoe and Neil MacIntosh] Update: The CppCoreCheck tools are now part of VS 2017: https://blogs.msdn.microsoft.com/vcblog/2016/10/12/cppcorecheck. Back in September at CppCon 2015 Neil announced that we would be shipping new code analysis tools for C++ that would enforce some of the rules in the C++ Core Guidelines. (A video of the talk is available… Read more

C++ Modules in VS 2015 Update 1

点这里看中文版 [This post was written by Gabriel Dos Reis and Andrew Pardoe] Update: See this post on using the Standard Library via modules in MSVC. The VC++ team is excited to preview a new feature in VS 2015 Update 1: The first experimental implementation of A Module System for C++, proposed for C++17. That proposal was… Read more

Coroutines in Visual Studio 2015 – Update 1

In preview of Visual Studio 2015, we introduced Coroutines for C++, see these blog post for an introduction and here. You can also look at the CPPCon 2015 talk about C++ Coroutines here. We continue to work on resumable functions, here it is a brief update on coroutines status in VS 2015 Update 1. See… Read more

Debug Visualizers in Visual C++ 2015

When debugging your native applications, it is often useful to view the values of the objects in memory in a specific way, whether that be with custom string formatting, or even performing an operation on the data to make it more meaningful and easy to interpret.  Since VS2012, Visual Studio had provided the .natvis visualizer… Read more

Native Memory Diagnostics in CTP 5

The Visual Studio Memory Usage tool is now selected by default in VS2015 CTP 5.  When you first debug a native app in CTP 5, the Diagnostic Tools window will launch and show both the Memory Usage and CPU Usage tools since they are both checked by default.  For more information on the Diagnostic Tools… Read more

Native Memory Diagnostics in VS2015 Preview

In Visual Studio 2013 Update 2 and also in the earlier CTP releases of Visual Studio 2015, we released a memory diagnostic tool that allowed developers to take heap snapshots of their application and then examine the heap contents upon terminating their application.  The initial release supported viewing managed and native objects in the heap,… Read more