首页
社区
课程
招聘
[求助]EAX = *VTBL = **Add()是什么意思
发表于: 2009-6-4 19:12 4651

[求助]EAX = *VTBL = **Add()是什么意思

2009-6-4 19:12
4651
第三版书P85汇编代码注释后面有EAX = *VTBL = **Add()这样的解释,请高手解释下这句的意思

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 440
活跃值: (87)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
2
个人理解:这里的*应该代表地址的意思,相当于C语言中的&。
EAX = *VTBL = **Add() 就代表 eax=虚函数表指针=add函数的指针的指针。
跟踪一下就会发现:C++的类,如果有虚函数的话,第一个DWORD里面就会保存虚函数表的地址,然后才是成员变量。要是派生类的话,会麻烦点,多重继承的话就更加麻烦了。
2009-6-7 20:27
0
游客
登录 | 注册 方可回帖
返回
//