摘要:
一,不同关键字,系统压栈方式1,如果函数func是__cdecl(VC下的默认调用方式),调用时情况如下int main(){//参数从右到左压栈push 4push 3push 2push 1call funcadd esp 0x10 //调用者恢复堆栈指针esp,4个参数的大小是0x10(4x4)}C调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该调用约定)。另外,在函数名修饰约定方面也有所不同。 _cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空 阅读全文
posted @ 2013-07-11 13:38 Ady Lee 阅读(1460) 评论(0) 推荐(0) 编辑