原文链接:添加链接描述
函数的调用方式总共有以下几种约定:
stdcall,cdecl,fastcall,thiscall,naked call
stdcall
1)参数从右向左压入堆栈,2)函数自身修改堆栈 3)函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸。函数本身清理个堆栈
c++ 非成员函数默认都是这种调用方式。
cdecl
与stdcall不同的是,不是函数本身清理堆栈,而是调用者清理堆栈
fastcall
类似stdcall
thiscall
成员函数的默认调用方式
对于参数个数固定情况下,它类似于stdcall,不定时则类似cdecl
naked call
不建议使用