You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Extended storage-class attributes declared with the [__declspec](../cpp/declspec.md) keyword
20
+
- Extended storage-class attributes declared with the [__declspec](declspec.md) keyword
21
21
22
-
- The [__w64](../cpp/w64.md) keyword
22
+
- The [__w64](w64.md) keyword
23
+
24
+
### Microsoft-Specific Keywords
25
+
26
+
Many of the Microsoft-specific keywords can be used to modify declarators to form derived types. For more information about declarators, see [Declarators](overview-of-declarators.md).
|[__based](based-grammar.md)|The name that follows declares a 32-bit offset to the 32-bit base contained in the declaration.|Yes|
31
+
|[__cdecl](cdecl.md)|The name that follows uses the C naming and calling conventions.|Yes|
32
+
|[__declspec](declspec.md)|The name that follows specifies a Microsoft-specific storage-class attribute.|No|
33
+
|[__fastcall](fastcall.md)|The name that follows declares a function that uses registers, when available, instead of the stack for argument passing.|Yes|
34
+
|[__restrict](extension-restrict.md)|Similar to __declspec([restrict](restrict.md)), but for use on variables.|No|
35
+
|[__stdcall](stdcall.md)|The name that follows specifies a function that observes the standard calling convention.|Yes|
36
+
|[__w64](w64.md)|Marks a data type as being larger on a 64-bit compiler.|No|
37
+
|[__unaligned](unaligned.md)|Specifies that a pointer to a type or other data is not aligned..|No|
38
+
|[__vectorcall](vectorcall.md)|The name that follows declares a function that uses registers, including SSE registers, when available, instead of the stack for argument passing.|Yes|
39
+
40
+
## See Also
41
+
[C++ Language Reference](cpp-language-reference.md)
The *decl-specifiers* part of a declaration is the longest sequence of *decl-specifiers* that can be taken to mean a type name, not including the pointer or reference modifiers. The remainder of the declaration is the *declarator*, which includes the name introduced.
0 commit comments