C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
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
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...
Download Today: Refreshed Casablanca Bits Available
Back, at the end of April, we announced our first release of Casablanca as an incubation project on Devlabs. Since then, we are glad to have received a positive response from the C++ community. At the end of June, we refreshed the bits for support of Visual Studio 2012 RC and Windows 8 RP. Those builds are now rather long in the tooth, and many have been asking for a refresh for the most recent builds, which are the final versions of Visual Studio 2012 and Windows 8.Today, we are announcing that this long awaited refresh is available for download at the Casablanca devlabs site. In addition to refreshing and fixin...
Project Austin Part 1 of 6: Introduction
My name is Jorge Pereira and I am a developer at Microsoft. For the past few months I've been working on a Windows 8 app along with a small team of developers from the Visual C++ team, we call it Project Code Name Austin. Austin is a digital note-taking app for Windows 8. You can add pages to your notebook, delete them, or move them around. You can use digital ink to write or draw things on those pages. You can add photos from your computer, from SkyDrive, or directly from your computer's camera. You can share the notes you create to other Windows 8 apps such as e-mail or SkyDrive. When we sat ...