C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Sign Up for the Pure Virtual C++ 2021 Conference
Last year we ran the first Pure Virtual C++, a free one-day virtual conference for the whole C++ community. This May we're doing it again! Sign-up for free on the website to be the first to hear about our program schedule, access our extra on-demand C++ demos, and get more virtual surprises. The live event will run May 3rd 14:30-17:30 UTC on Microsoft Learn TV. It will also be streamed to YouTube and videos will be available to watch after the event. The full program will be announced soon, but expect content on C++20 modules, code analysis, CMake, vcpkg, and MSVC's progress on conformance. In addition ...
vcpkg Host Dependencies for Cross-Compilation
If you’re not familiar with our C++ library manager vcpkg, welcome! This post covers an intermediate/advanced topic, so you may want to first get an overview and try things out from the vcpkg GitHub page or some of our previous blogs. Introduction One of the best features of C++ is that it generates tailored, specialized code for each specific machine, enabling you to squeeze every ounce of performance per watt. It enables clean abstractions to coexist peacefully with low-level platform-specific bit twiddling. However, this comes at a price for many developers that venture beyond their own machine: yo...
Static Analysis Fixes, Improvements, and Updates in Visual Studio 2019 16.9
MSVC static analysis update for Visual Studio 16.9.
IntelliSense Improvements in Visual Studio 2019
We’ve made many great improvements to C++ IntelliSense over the course of the Visual Studio 2019 release. We’ve collected a few of the highlights in case you are interested in upgrading to Visual Studio 2019 or just want to learn how to be more productive when writing C++ code. If you have followed our blog since the 2019 Previews, you may be familiar with some of these features already. We hope you find this collection helpful. If you want to try all these features out, please grab the latest release of Visual Studio 2019. Many of these features are rooted in community suggestions. If you have any suggestions...
Address Sanitizer for MSVC Now Generally Available
This post was last updated on March 10th, 2021. Special thanks to Aaron Gorenstein who provided most of the content for this blog post. Special thanks as well to Kevin Cadieux and Jim Radigan who also made contributions. You can check out a demo on this feature in the latest Visual Studio Toolbox episode on YouTube: Visual Studio Toolbox Live - What's New in Visual Studio 2019 version 16.9? - YouTube To get started with this experience, check out our documentation. --- We’re thrilled to announce that as of Visual Studio 2019 version 16.9, the C++ Address Sanitizer (ASan) for MSVC experience is f...
Microsoft C++ Team at ACCU 2021
Sy Brand and Erika Sweet from the Microsoft C++ Team will be presenting at ACCU 2021 this week. Come say hi in the virtual conference space and let us know if you have any questions about our talks, products, or anything else. We also recommend dropping by the #include <C++> table in the expo hall to learn more about their community. Dynamic Polymorphism with Code Injection and Metaclasses – Sy Brand Wednesday, 10 March 11:00 – 12:30 GMT Dynamic polymorphism in C++ has historically meant virtual functions and inheritance. However, these form only one possible design for solving this problem, and ...
Remote Debug Support in Visual Studio 2019
Visual Studio 2019 offers remote debug support for MSBuild and CMake projects targeting Windows and Linux. Thanks to remote debugging, our customers can target a wider, more diverse range of scenarios. We offer the flexibility to customize your deployment and automatically copy any dependencies needed to the target machine.
Registries: Bring your own libraries to vcpkg
Special thanks to Nicole Mazzuca for providing the content of this blog post. Are you working on a C++ project with library dependencies? Are you tired of maintaining a custom-built package management workflow with duct tape and git submodules? Then you should consider trying out a package manager. Perhaps you have been side-eyeing vcpkg for a while, and it looks like the perfect solution for your team, but for one problem: not all your dependencies are open source! Your company has internal libraries that they expect everyone to use too. Can vcpkg work with non-open-source dependencies? Yes! Up u...
Take control of your vcpkg dependencies with versioning support
Special thanks to Victor Romero for putting together the content for this blog post. We have an exciting new feature to announce in vcpkg: the long-awaited and highly requested package versioning! This feature makes it possible to install specific versions of dependencies and control installed versions over time. In order to use this feature, a vcpkg.json manifest file must be present in your repo to declare dependencies. Versioning is not currently available for libraries installed via the command line (i.e. commands). The versioning feature is completely optional – you can choose not to specify library vers...