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

More Q&A for the C++ AMP book
As we shared last week, Kate Gregory and Ade Miller have released C++ AMP, an exploration of accelerated massive parallelism with Microsoft® Visual C++®. In that post, Ade answered a few of our hard-hitting questions. In this post, Kate answers the same set of questions:Q1. “C++ AMP” in 140 characters or less?C++ apps can speed up the data parallel parts by 100x – imagine what that makes possible! And it’s C++ all the way.Q2. How did you get interested in writing about C++ AMP?I’ve been watching parallelism and concurrency since PDC 2005 wh...

Check out the new C++ AMP book by Kate Gregory and Ade Miller
The C++ AMP book by Kate Gregory and Ade Miller is available in print or online from your favorite retailer! What is in it for you? Among other things, you will discover how to: I was able to corner Ade Miller long enough to answer a few questions:Q1: “C++ AMP” in 140 characters or less?“A hardware agnostic data parallel programming model for C++.”That’s pretty terse :). The C++ bit is important: C++ AMP is C++ not C.Q2. How did you get interested in writing about C++ AMP?I’ve had a longstanding interest in GPU programming. I got into it when I was writing a...

Project Austin Part 4 of 6: C++ AMP acceleration
Hello, I am Amit Agarwal, a developer on the C++ AMP team. C++ AMP is a new technology available in Visual Studio 2012 that enables C++ developers to make the best use of available heterogeneous computing resources in their applications from within the same C++ sources and the VS IDE they use for programming the CPU. Austin is a digital note-taking app for Windows 8 and the visually engaging 3D effects associated with page turning in the Austin app are powered by the use of C++ AMP. A page surface is modeled as a 3D mesh comprised of a collection of triangles each defined by the location of its vertices in 3 di...

Windows XP Targeting with C++ in Visual Studio 2012
Background In June, we announced enhanced targeting for Windows XP using the Visual Studio 2012 C++ compiler and libraries. This feature has been included in Visual Studio 2012 Update 1. You can download it from here. The purpose of this article is to provide an overview of the Windows XP targeting experience, the level of C++ runtime support, and noteworthy differences from the default experience shipped in Visual Studio 2012 at RTM. Windows XP Targeting Experience In order to target Windows XP, switch from the default v110 toolset to the newly introduced v110_xp toolset inside your project’s property p...
![C++/CX Part 3 of [n]: Under Construction](https://devblogs.microsoft.com/cppblog/wp-content/uploads/sites/9/2018/08/cplusplusfeature.png)
C++/CX Part 3 of [n]: Under Construction
See C++/CX Part 0 of [n]: An Introduction for an introduction to this series and a table of contents with links to each article in the series. In this article, we'll take a look at the how runtime classes are constructed. We'll use the following runtime class throughout this article: This type has both a default constructor and a constructor with an parameter. C++/CX runtime class constructors are largely the same as constructors for ordinary C++ class types. Like ordinary member functions, any constructor that is part of the public interface of the runtime class can only use Windows Runtime types in its signa...

Project Austin Part 3 of 6: Ink Smoothing
Hi, my name is Eric Brumer. I’m a developer on the C++ compiler optimizer, but I’ve spent some time working on Project Code Name Austin to help showcase the power and performance of C++ in a real world program. For a general overview of the project, please check out the introduction blog post. This blog post describes how we perform ink smoothing. Consider a straightforward ink drawing mechanism: draw straight lines between each stylus input point that is sampled. The devices and drivers we have been using on Windows 8 sample 120 input points per second. This may seem like a lot, but very swift stro...

C++ Runtime for Windows 8 Store apps
Background If you have shipped software built using Visual C++, you probably have had to think about deploying C++ Runtime DLLs. If your binaries dynamically link to the C++ Libraries, then your desktop apps probably deploy C++ Runtime using VCRedist, merge modules or by copying C++ Runtime DLLs alongside your own binaries. In this blog post, we are going to look at how this problem has been addressed for Windows 8 Store apps that are written entirely using C++ or contain some components written using C++. Windows 8 App packages and deployment Windows 8 has reimagined the deployment model for ...

Project Austin Part 2 of 6: Page Curling
Hi, my name is Eric Brumer. I’m a developer on the C++ compiler optimizer, but I’ve spent some time working on Project Code Name Austin to help showcase the power and performance of C++ in a real-world program. For a general overview of the project, please check out the original blog post. The source code for Austin, including the bits specific to page curling described here, can be downloaded on CodePlex. In this blog post, I’ll explain how we implemented page turning in the “Full page” viewing mode. We wanted to make flipping through the pages in Austin to feel like flipping throu...

DirectX Graphics Development with Visual Studio 2012
Visual Studio 2012 includes several new features for developing and debugging applications that use DirectX. Here are links to references and resources so you can get started with these new features. Getting StartedYou can write and build apps that use DirectX with Visual Studio Express 2012 for Windows 8 or Visual Studio Express 2012 for Windows Desktop, or any of the retail versions of Visual Studio 2012 (Professional, Premium, and Ultimate). You also don’t need a separate DirectX SDK download – the DirectX SDK is now part of the Windows SDK, and the Windows 8 SDK is included i...