cdecl

Specifies a cdecl-style calling convention in a procedure declaration

Syntax
   Sub name cdecl [Overload] [Alias "alias"] ( parameters )
   Function name cdecl [Overload] [Alias "alias"] ( parameters ) [ ByRef ] 
   As return_type

Description
   In procedure declarations, cdecl specifies that a procedure will use the 
   cdecl calling convention. In the cdecl calling convention, any 
   parameters are to be passed (pushed onto the stack) in the reverse order 
   in which they are listed, that is, from right to left. The procedures 
   need not preserve the EAX, ECX or EDX registers, and must not clean up 
   the stack (pop any parameters) before it returns - that is left to the 
   calling code.

   cdecl is allowed to be used with variadic procedure declarations (those 
   with the last parameter listed as "...").

   cdecl is the default calling convention on Linux, the *BSDs, and DOS, 
   unless another calling convention is explicitly specified or implied by 
   one of the Extern Blocks. cdecl is typically the default calling 
   convention for C compilers, and it's used almost exclusively on 
   Unix-like systems.

   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.

Example
   ' declaring 'strcpy' from the standard C library
   Declare Function strcpy cdecl Alias "strcpy" (ByVal dest As ZString Ptr, ByVal src As ZString Ptr) As ZString Ptr

Differences from QB
   * New to FreeBASIC

See also
   * pascal, stdcall
   * Declare
   * Sub, Function

