![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-01 19:40 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 请教_go32_dpmi_lock_code如何锁类成员函数 |
| 可打印版本 1,186 / 2 |
| 第1楼 savling77 | 发表于 2006-06-18 10:28 |
| 新手上路 发帖 3 积分 18 | |
|
请教_go32_dpmi_lock_code如何锁类成员函数 成员函数的地址怎么获取?
谢谢! |
|
| 第2楼 purm | 发表于 2006-06-21 09:22 |
| 初级用户 发帖 9 积分 26 | |
|
不知道,谁能说下?
|
|
| 第3楼 asbai | 发表于 2006-06-22 12:05 |
| 高级用户 发帖 252 积分 653 | |
|
看是什么成员,普通成员和静态成员直接取址就可以了。
静态方法和常规C函数其实是一样的,除了名称粉碎机制,但这不影响取址。 普通成员实际就是隐式传递一个this指针的常规函数(同样除了名称粉碎,并且某些编译器中,生成代码的调用规范也稍有不同,但这也不影响取址)。 例如:void (MyClass::* p)() = &MyClass::MyMemberFunc; // p 指向 MyClass::MyMemberFunc 的入口地址。 但是,虚函数虽然也可以取址,但由于它是需要运行时绑定的,所以其 “指针” 其实只是该函数在类的虚表中的偏移,并不指向真正要调用的函数入口地址(该地址只有在运行时才能确定)。 所以除了虚函数外,其它函数的指针都应该可以满足楼主的需要。 [ Last edited by asbai on 2006-6-22 at 12:06 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |