美文网首页
调用规约

调用规约

作者: 玻璃缸里的自游 | 来源:发表于2019-01-02 22:27 被阅读0次

    stdcall,cdecl,fastcall,thiscall,naked call

    1、stdcall的调用约定意味着:1)参数从右向左压入堆栈,2)函数自身修改堆栈 3)函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸。

    2、cdecl调用约定是C语言缺省的调用约定。其参数压栈顺序是和stdcall是一样的,从右向左压入堆栈。不同的是,函数本身不清理堆栈,而由调用者负责清理堆栈。

    3、VC++开发环境中,默认的编译选项是C语言缺省的_cdecl。如果要使用stdcall,必须显示声明。如:Win32的API函数都遵循_stdcall调用约定,可声明为WINAPI,这就是stdcall。

    4、c++对象函数默认使用thiscall. this指针通常由寄存器ECX传递。

    相关文章

      网友评论

          本文标题:调用规约

          本文链接:https://www.haomeiwen.com/subject/zyitrqtx.html