c – 方法调用之前的lea指令是什么?

前端之家收集整理的这篇文章主要介绍了c – 方法调用之前的lea指令是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在查看我的反汇编代码时,我看到了很多以下内容
00B442E9  push        4  
00B442EB  push        3  
00B442ED  lea         ecx,[ebp-24h]  
00B442F0  call        Foo::Bar (0B41127h)

我理解在通话之前推送参数,但是lea在这做什么?

解决方法

在Visual C for x86使用的thiscall调用约定中,this指针在ecx寄存器中传递.该lea指令在调用成员函数之前将this指针复制到ecx寄存器中.

您可以在Stack Overflow问题“What’s the purpose of the LEA instruction?”中阅读有关lea指令的所有内容

原文链接:https://www.f2er.com/c/119464.html

猜你在找的C&C++相关文章