房山区窦店2019年规划:了解函数调用约定__cdecl和__stdcall

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 00:28:53
函数调用约定__cdecl和__stdcall

1. 参数入栈顺序: 都是自右向左
2. 谁来清栈:__cdecl是由函数的调用者负责清栈空间,而__stdcall是在函数返回前自身清理栈空间
3. 和extern "C"一起对函数名称的影响
     extern "C" int __stdcall add1(int a, intb)   --> add1@8     extern "C" int  add1(int a, intb)                 --> _add1     extern "C" int __cdecl add1(int a, intb)     --> _add1
     int __stdcall add1(int a, intb)   --> ?add1@@YGHHH@Z     int  add1(int a, intb)                 --> ?add1@@YAHHH@Z     int __cdecl add1(int a, intb)     --> ?add1@@YAHHH@Z