【发布时间】:2015-02-15 07:42:51
【问题描述】:
在 x86 上的 winapi __stdcall 中,第二个参数存储在哪个寄存器中? (ECX?) - 另外,我知道在哪里可以找到一些关于此的文档吗?
【问题讨论】:
-
我认为参数存储在堆栈中,而不是 stdcall 的寄存器。
-
文档:msdn.microsoft.com/library/zxk0tw93.aspx。参数存储在堆栈中(由
[ESP]或[EBP]引用)。注意:Win64 的调用约定有很大不同! -
@rkhb 哦,在堆栈上,谢谢!您可以添加它作为答案吗?个人注意,如果我想访问第二个参数,它是 DWORD PTR SS:[esp-4] ?
-
或者-4*参数可能
-
我知道,我在文档中看到它并且我可以使用它,但我无法证明它令我满意 - 所以让它作为评论。对参数的访问取决于“序言”和当前位置(在调用者内部或被调用者内部)。显示代码;-)