Overview of Windows Programming in C++

You can use Visual C++ to write a wide variety of programs that run on a Windows PC (x86, x64 or ARM), on a Windows server, in the cloud, or on Xbox. Well-written C++ programs are fast, efficient, economical in power consumption, and able to take full advantage of multicore and many-core devices, general computing on the graphics processing unit (GPGPU), and other recent advances in hardware.

Windows Store Apps and Games

On Windows 8, you can use C++ to write Windows Store apps that compile to native code and have a XAML user interface or use DirectX. You can also write Windows Runtime components in native code that other Windows Store apps can consume—these include apps that are written in C#, Visual Basic, or JavaScript. For more information, see Create your first Windows Store app using C++, Create your first Windows Store game using DirectX, and Creating Windows Runtime components in C++.

You can also write Windows Store apps, games, and components without using the Visual C++ component extensions (C++/CX); instead, you can use the Windows Runtime C++ Template Library (WRL). For more information, see Windows Runtime C++ Template Library.

Desktop, Server, and Cloud Apps and Games

In the cloud you can Windows Azure native code assemblies in C++ and call into them from Web Roles that are created in C#. For more information, see Windows Azure SDK.

On Windows 8 and Windows Server 2012, you can use Visual C++ to create many kinds of programs:

You can use Visual C++ to package almost any kind of custom high-performance functionality in Win32 DLLs or in COM DLLs that can be consumed by C++ apps or by apps that are written in other languages—for example, C# or Visual Basic. For more information about WIn32 DLLs, see DLLs in Visual C++. For more information about COM development, see Component Object Model (COM).

SDKs and Header Files

Visual C++ includes the C and C++ standard libraries, the Standard Template Library (STL), and other Microsoft-specific libraries. The header files for these libraries are all located in the Visual Studio installation directory under the \VC\ folder. The Microsoft libraries include:

  • Microsoft Foundation Classes (MFC): An object-oriented framework for creating traditional Windows programs—especially enterprise applications—that have rich user interfaces that feature buttons, list boxes, tree views, and other controls. For more information, see MFC Desktop Applications.

  • Active Template Library (ATL): A powerful helper library for creating COM components. For more information, see ATL COM Desktop Components.

  • C++ AMP (C++ Accelerated Massive Parallelism): A library that enables high-performance general computational work on the GPU. For more information, see C++ AMP (C++ Accelerated Massive Parallelism).

  • Concurrency Runtime: A library that simplifies the work of parallel and asynchronous programming for multicore and many-core devices. For more information, see Concurrency Runtime.

Many Windows programming scenarios also require the Windows SDK, which includes the header files that enable access to the Windows operating system components. By default, all editions of Visual Studio 2012 install the Modern SDK, which enables development of Windows Store apps. For more information about the Windows SDKs for earlier versions of Windows, see Overview of the Windows SDK.

Other platforms such as Xbox and Azure have their own SDKs that you may have to install. For more information, see the DirectX Developer Center and the Azure Developer Center.

Development Tools

Visual Studio includes a powerful debugger for native code, static analysis tools, graphics debugging tools, a full-featured code editor, support for unit tests, and many other tools and utilities. For more information, see Application Development in Visual Studio, and Tools for Visual C++ Development.

Title

Description

Visual C++

Parent topic for MSDN Library content about C++.