__FASTCALL


Specifies the Fastcall calling convention in a procedure declaration

Syntax:
declare Sub name __Fastcall [Overload] [Alias "alias"] ( parameters )
declare Function name __Fastcall [Overload] [Alias "alias"] ( parameters ) [ Byref ] as return_type

Sub name [__Fastcall] [Overload] [Alias "alias"] ( parameters )
Function name [__Fastcall] [Overload] [Alias "alias"] ( parameters ) [ Byref ] as return_type

Description:
Fastcall is a calling convention for x86 targets where the first and second integer arguments are passed in the in ECX and EDX registers respectively instead of on the stack. All other arguments are passed right to left and callee cleans up the stack (like Stdcall).

Fastcall can be specified at both the declaration and the definition.
If a procedure definition has a declaration (with calling convention explicit or by default) and the definition does not explicitly specify a calling convention, then the calling convention is implied by the declaration.

Note: Default calling convention on win32 x86 inside an extern "c++" block for non-static member procedures is Thiscall.

Examples:
Extern "c++"
    Declare Function Example __Fastcall (param1 As Long, param2 As Byte, param3 As LongInt, param4 As String) As Integer
End Extern

Version:
Differences from QB:
See also:
Back to Procedures
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode