调用惯例Calling Convention (或者说:调用约定)

时间:2022-03-25 16:40:58

调用惯例影响执行效率,参数的传递方式以及栈清除的方式。

 
调用惯例  参数传递顺序 谁负责清除参数 参数是否使用暂存器
register 从左到右           被调用者
pascal 从左到右 被调用者
cdecl 从右到左 调用者
stdcall 从右到左 被调用者
safecall 从右到左 被调用者
fastcall  

头两个DWORD(4字节)类型或者占更少

字节的参数被放入寄存器,其它剩下的参数

按从右至左的顺序压入栈

 被调用者  否
WINAPI

在WINDEF.H中定义:#define  WINAPI  _stdcall

   

Dekphi   默认的调用惯例是:register

win32API  默认的调用惯例是:pascal、stdcall、safecall

c语言  默认的调用惯例:cdecl  stdcall  fastcall