Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530713
  • 博文数量: 576
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5020
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(576)

文章存档

2011年(1)

2008年(575)

我的朋友

分类:

2008-10-14 14:57:21

sheds:本来就是这样的,还用你说呀
(发表于2008-3-27 22:01:00)

jink1025:__asm //__stdcall
{
stdcall_1:
push  dword ptr [esp]; //保存(复制)返回地址到当前栈中
mov   dword ptr [esp+4], -1; //将this指针送入栈中,即原来的返回地址处
mov   eax,  -2;
jmp   eax; //跳转至目标消息处理函数(类成员函数)
stdcall_2:;
}

看上去是错的.
__stdcall 被调用者负责回收stack,你这里私自push了一次,函数返回后stack会出问题的吧
(发表于2008-3-31 9:38:00)

jink1025:哦,请忽略我前面的疑问,我错了,被调用函数被改过可以推平stack.
(发表于2008-3-31 9:44:00)

tgl10:很巧妙.
看着鬼斧神工,但只是对已存在的函数代码的调用而已,我对thunk技术究竟有没有实用价值表怀疑...


(发表于2008-6-13 14:21:00)

..........................................................................
--------------------next---------------------

阅读(242) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~