C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Recommendations to speed C++ builds in Visual Studio
In this blog, I will discuss features, techniques and tools you can use to reduce build time for C++ projects. The primary focus of this post is to improve developer build time for the Debug Configuration as a part of your Edit/Build/Debug cycle (inner development loop). These recommendations are a result of investigating build issues across several projects. Developers invoke build frequently while writing and debugging code, so improvements here can have a large impact on productivity. Many of the recommendations focus on this stage, but others will carry over to build lab scenarios, clean builds with optimiza...
Building your C++ application with Visual Studio Code
Did you know that you can build and debug C++ projects in Visual Studio Code with your compiler and debugger of choice? Although VS Code is a light-weight editor, you can set it up to resemble a full IDE, customizing IntelliSense, build, and debug configurations for your environment. There are two recommended approaches for building a C++ application in VS Code: If your project uses CMake, we recommend the CMake Tools extension for viewing, building, and debugging CMake targets. If you aren’t using CMake, you can define VS Code build tasks in tasks.json, which invoke your compiler of choice. Bu...
CppRestSDK 2.9.0 is available on GitHub
We are delighted to announce a new version of CppRestSDK (Casablanca) 2.9.0, this new version available on GitHub introduces new features and fixes issues reported on the 2.8.0 version. The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.We addedWe fixed issues of Linux, OSX and Android versions. Here are the set of changes going into this release:LinuxOSXAndroidWindowsWebSocketshttp_clientUriJson· #86 Fix obtaining raw string_t pointer from temp...
C++/WinRT Available on GitHub
C++/WinRT is now available on GitHub. This is the future of the Modern C++ project and the first public preview coming officially from Microsoft. https://github.com/microsoft/cppwinrt C++/WinRT is a standard C++ language projection for the Windows Runtime implemented solely in header files. It allows you to both author and consume Windows Runtime APIs using any standards-compliant C++ compiler. C++/WinRT is designed to provide C++ developers with first-class access to the modern Windows API. C++/WinRT, along with libraries like Boost and Range-v3, has been instrumental in helping us find bugs in our efforts to...
C++ Core Check code analysis is included with VS 2017
Visual Studio "15" Preview 5 now includes the C++ Core Guidelines Checkers. This means you no longer have to install the C++ Core Check package from NuGet to check your code against rules and profiles in the C++ Core Guidelines. Just configure Code Analysis to include the C++ Core Check extensions. You can configure Code Analysis in the Solution or Project Property Pages. Either right click on the project or solution or select "Analyze->Configure Code Analysis" from the menu bar. Find the Code Analysis entry on the bottom of the Property Page and select "Extensions". Here you'll find two options: one to en...
C++14/17 Features and STL Fixes in VS “15” Preview 5
Compiler Tools Layout in Visual Studio 2017
点这里看中文版 This post was written by Andrew Pardoe, Mark Levine, and Iyyappa Murugandi. Thank you for your feedback! We've made some changes to the layouts based on your feedback. Update Dec 8 2016 Finding the location of a VC++ install: Some folks have asked about how to find instances of Visual C++ on a developer's machine. There's no longer a registry key you can query. If you can launch a VS command prompt, you'll find that the %VCInstallDir% environment variable points to the root of the VC++ install. If you need to query the install programmatically, you'll need to query COM to find instances of Visual...
Faster C++ build cycle in VS 2017 with /Debug:fastlink
Continuing with our goal of further improving developer productivity with Visual Studio 2017 there have been major investments made for also improving incremental developer builds. The developer incremental build is one where a developer changes a single or multiple source files and builds. The time spent in these builds is almost equal to the time spent in linking the binaries. With Visual Studio 2015 we introduced a new linker switch ‘/debug:fastlink’. With ‘/debug:fastlink’ developers on average see an improvement of 2-4x in clean link times. So why is /debug:fastlink so much faster for link times? Well, with ...
Faster C++ solution load with VS 2017
The Visual C++ product has had projects ever since its inception. Visual C++ had its own IDE up through Visual Studio 6. Starting in Visual Studio .NET, C++ moved to a new IDE shared by Visual Basic, C#, C++, and other tools. This new IDE used COM everywhere and items in the Solution Explorer were based on IVsHierarchy. Much of the existing project system was kept intact but it was exposed through a new set of COM objects that implemented IVsHierarchy and other interfaces. In Visual Studio 2010, the underlying project/build system was changedfrom VCBuild to MSBuild. This is also when the file extension chan...