flat assembler
Message board for the users of flat assembler.
Index
> Main > ccall#call; cinvoke#invoke? help me |
Author |
|
revolution 21 Dec 2010, 03:01
invoke, cinvoke, stdcall and ccall are macros to support calling conventions.
call is an assembler instruction supported by the CPU. Use invoke for all Windows API calls except wsprintf (STDCALL) Use cinvoke for all C library calls and wsprintf (CDECL) Use ccall to call internal functions you have defined as CDECL compliant. Use stdcall to call internal functions you have defined as STDCALL compliant. |
|||
21 Dec 2010, 03:01 |
|
Tyler 21 Dec 2010, 08:04
The difference between invoke and stdcall is that invoke calls the address at the address you pass, and stdcall calls the address itself. invoke internally uses stdcall to call the address at an address(ie with []). The same is true for the two cdecl macros.
To give an illustration: Code: invoke function, arg1, arg2 ; is the same as... stdcall [function], arg1, arg2 Like revolution said, if you want to call a label you use stdcall or its cdecl cousin. When calling a label, you use it without []. |
|||
21 Dec 2010, 08:04 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.