C/C++ language and standard libraries reference

This section of the documentation contains reference content for the Microsoft implementation of the ISO standard C and C++ languages. The language reference includes documentation for the preprocessor, compiler intrinsics, and supported assembly languages.

You'll also find documentation for the C runtime library, the C++ standard library, and several other libraries available with the Microsoft C/C++ compiler (MSVC) here.

Language reference

C language
Reference content for the Microsoft implementation of the C language.

C++ language
Reference content for the Microsoft implementation of the C++ language.

C/C++ preprocessor
Reference content for the preprocessor used by C and C++.

Compiler intrinsics
Describes intrinsic functions that are available in Microsoft C and C++ for x86, ARM, ARM64, and x64 architectures.

Inline assembler
Explains how to use the Visual C/C++ inline assembler with x86 processors.

ARM assembler reference
Provides reference material for the Microsoft ARM assembler (ARMASM) and related tools.

Microsoft macro assembler reference
Provides reference material for the Microsoft Macro assembler (MASM).

Libraries reference

Standard libraries

C runtime library
The reference for the Microsoft implementation of the C runtime library (CRT), sometimes referred to as the Universal CRT.

C++ standard library
The reference for the Microsoft implementation of the C++ standard library.

Libraries for Windows applications

MFC/ATL
Documentation for the Microsoft Foundation Classes (MFC) and Active Template Library (ATL) class libraries.

Additional libraries

C++ AMP (C++ Accelerated Massive Parallelism)
Classes that enable the use of modern graphics processors for general purpose programming.

Concurrency Runtime
Classes that simplify the writing of programs that use data parallelism or task parallelism.

OpenMP
Reference for the Microsoft implementation of the OpenMP API.

SafeInt library
A portable library that can be used with MSVC, GCC, or Clang to help prevent integer overflows.

Data Access Libraries Libraries to support data access using ATL or MFC, and legacy services such as OLE DB and ODBC.

Windows Runtime (WinRT) with C++
C++/WinRT is an entirely standard modern C++17 language projection for Windows Runtime (WinRT) APIs, implemented as a header-file-based library.

Windows Runtime C++ Template Library (WRL)
A legacy template library for the Windows Runtime, replaced by C++/WinRT.