我正在逐步执行windows 7中的结构化error handling恢复代码(例如,SEH处理程序完成并传回“继续”代码后会发生什么情况)。 这是一个被称为的函数:
7783BD9F mov edi,edi 7783BDA1 push ebp 7783BDA2 mov ebp,esp 7783BDA4 push 1 7783BDA6 push DWord ptr [ebp+0Ch] 7783BDA9 push DWord ptr [ebp+8] 7783BDAC call 778692DF 7783BDB1 pop ebp 7783BDB2 ret 8
我习惯了“push ebp / mov ebp,esp”的functionprolog。 “mov edi,edi”的目的是什么?
如何从控制台应用程序基于Datatable绘制图表?
在windows和Silverlight类库之间共享C#代码
检索windows“窗口颜色”
如何在windows Server 2003和更高版本上使用虚拟磁盘服务(VDS)login到iSCSI目标?
如何使用windows机器中的Node Js连接到Oracle数据库
Raymond Chen(微软开发人员之一)已经回答了这个问题:
为什么windows功能都是以无意义的MOV EDI,EDI指令开始的?
他还提到了一个更早的参考:
为什么编译器在函数开始时会生成MOV EDI,EDI指令?
基本上,在热补丁期间留下跳转指令的空间。
总结以上是内存溢出为你收集整理的Windows32 API:“mov edi,edi”在函数入口?全部内容,希望文章能够帮你解决Windows32 API:“mov edi,edi”在函数入口?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)