Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 1.98 KB

microsoft-specific-modifiers.md

File metadata and controls

36 lines (26 loc) · 1.98 KB
title description ms.date
Microsoft-specific modifiers
Learn more about: Microsoft-specific modifiers
08/16/2018

Microsoft-specific modifiers

This section describes Microsoft-specific extensions to C++ in the following areas:

Microsoft-specific keywords

Many of the Microsoft-specific keywords can be used to modify declarators to form derived types. For more information about declarators, see Declarators.

Keyword Meaning Used to Form Derived Types?
__based The name that follows declares a 32-bit offset to the 32-bit base contained in the declaration. Yes
__cdecl The name that follows uses the C naming and calling conventions. Yes
__declspec The name that follows specifies a Microsoft-specific storage-class attribute. No
__fastcall The name that follows declares a function that uses registers, when available, instead of the stack for argument passing. Yes
__restrict Similar to __declspec(restrict), but for use on variables. No
__stdcall The name that follows specifies a function that observes the standard calling convention. Yes
__w64 Marks a data type as being larger on a 64-bit compiler. No
__unaligned Specifies that a pointer to a type or other data is not aligned. No
__vectorcall The name that follows declares a function that uses registers, including SSE registers, when available, instead of the stack for argument passing. Yes

See also

C++ Language Reference