调用机制 ================================ 调用惯例 -------------------------------- - cdecl - 函数调用方出栈 - 传参从右至左入栈 - 名称修饰使用下划线+函数名 - stdcall - 函数本身出栈 - 传参从右至左入栈 - 名称修饰下划线+函数名+@+函数字节数 - fastcall - 函数本身出栈 - 传参头两个DWORD类型或者占更少字节的参数放入寄存器,其他的从右到左压栈 - 名称修饰@+函数名+@+参数的字节数 - pascal - 函数本身出栈 - 传参从左至右入栈 - 名称修饰复杂 - naked call - 在特殊场合使用,不保护寄存器 - thiscall - C++ 的特殊调用管理,称为thiscall,用于类成员函数的调用,特点随编译器不同而不同 - VC的thiscall this指针存放于ecx,参数从右至左压栈 - gcc的thiscall 和cdecl一样,只是将this看做函数的第一个参数