这样的问题应该怎样解决

心留 2009-10-27 08:58:28
我发现用vc6。0编译的函数因为有一些框架 调用函数前后esp的值一定是一样的

但是我现在因为特殊情况
要实现一个函数在被调用后esp 大于 被调用前的esp 8怎么实现呢?
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
还没淹死的鱼 2009-10-29
  • 打赏
  • 举报
回复
用了十多年vc6, 没用过esp
心留 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 akirya 的回复:]
你加载函数调用之后。不就行了嘛
[/Quote]

加载函数调用之后

然后又会执行 框架的结尾部分呀。
心留 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 a87437734 的回复:]
要保证不改变其它寄存器的值哈。

[/Quote]

问题是这样嵌入没用、
因为有框架
框架回在你的代码后面加一句
MOV ESP,EBP
这样esp又恢复了

  • 打赏
  • 举报
回复
你加载函数调用之后。不就行了嘛
  • 打赏
  • 举报
回复
嵌入汇编
__asm
{
add esp,8
}
心留 2009-10-27
  • 打赏
  • 举报
回复
要保证不改变其它寄存器的值哈。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧