转 函数调用约定规格严格

转 函数调用约定规格严格,第1张

谈到函数,一般首先要分析一下各种函数调用约定,比如_cdecl、 _stdcall等。这两种调用约定调用时都是最右侧的参数先进栈,栈最上面的就是函数的第一个参数。不同之处在于,_cdecl由调用者清理参数占用的 栈空间,而_stdcall由被调用者清理参数占用的栈空间。很明显,对于接受可变参数的函数,如printf,被调用函数是无法知道到底有几个参数的, 所以只能采用由调用者清理参数栈的方式。_stdcall调用方式生成的代码会小一点。

     下面的分析采用VC++6.0进行。

一.函数内部的汇编代码

view plain

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/2090562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存