标签:参数 个数 lin ons 部分 参数调用 使用 空间 字节
http://kelvinh.github.io/blog/2013/08/05/windows-x64-calling-conventions/
假设传递的参数的个数为n,那么
当n为奇数时,调用者需要分配0x20+8+(n-1)*8的栈空间
其中,0x20=32,用来保存调用者本地变量RCX, RDX, R8, R9,8字节用来保持栈地址16字节对齐,(n-1)*8大小的空间用来保存参数,按照从右向左的顺序,虽然低0x20大小的空间不使用,这部分参数通过RCX, RDX, R8, R9传递,但仍需要调用者为开始的四个参数分配空间。
当n为偶数时,调用者需要分配0x20+(n-1)*8的栈空间
这里,少了8字节,因为参数的个数为偶数,此时无需额外的8字节便可以保持栈地址16字节对齐
标签:参数 个数 lin ons 部分 参数调用 使用 空间 字节
原文地址:https://www.cnblogs.com/buaawang/p/9939794.html