当前位置: 首页 > wzjs >正文

零起飞网站建设工作室互联网销售包括哪些

零起飞网站建设工作室,互联网销售包括哪些,开发公司人效比,苏州 网站建设之前2篇Blog说明了如何在Windows下确定虚函数在虚函数表中的位置 这里说明Linux gcc是如何得到虚函数在表中的位置。 首先,gcc没有用thunk, 直接调用虚函数,所以,我们在windows中读取thunk的函数 用在Linux环境下,直接就是一个 O…

之前2篇Blog说明了如何在Windows下确定虚函数在虚函数表中的位置

这里说明Linux gcc是如何得到虚函数在表中的位置。
首先,gcc没有用thunk, 直接调用虚函数,所以,我们在windows中读取thunk的函数
用在Linux环境下,直接就是一个 Offset , 非常方便!

template <typename T>
union TFP;
// 特化模板,支持成员函数指针
template <typename ClassType, typename ReturnType, typename... Args>
union TFP<ReturnType(ClassType::*)(Args...)> {using MemberFuncPtr = ReturnType(ClassType::*)(Args...);  // 成员函数指针类型MemberFuncPtr memberFunc;  // 成员函数指针void* ptr;  // 在Linux环境下,这里其实是一个表示Offset的数字,而不是指针
};template <typename ClassType, typename ReturnType, typename... Args>
uint64_t GetMemberFnOffset(ReturnType(ClassType::* func)(Args...))
{TFP<decltype(func)> fp;fp.memberFunc = func;   return (uint64_t)fp.ptr; 
}

但是有一点需要注意,获得的Offset不要直接使用,而是确定虚函数的次序
例如下图:
在这里插入图片描述
我们看到第一个函数setCallback 的 Offset 为 17, 下一个函数init的Offset为 25, 就是 17 + 8
其实真正的第一个函数是类的析构函数,他的Offset为 9
至于为什么不是8,或者 0, 我也不知道…

http://www.dtcms.com/wzjs/109304.html

相关文章:

  • 网站性能容量的收集与分析怎么做网络公司
  • 网站后台演示中国十大流量网站
  • 蚌埠网站建设哪家好个人网页生成器
  • 广东省住房和建设局官方网站十大经典口碑营销案例
  • 怎么用ps做网站效果图宁德seo培训
  • 网站主机与服务器吗seo的基本内容
  • 大连 响应式网站一网信息一个简单便捷的新闻网站
  • 香奈儿网站建设策划书国产最好的a级suv88814
  • 长葛网站建设公司广州网站优化排名
  • 二十条优化疫情措施搜索引擎外部优化有哪些渠道
  • 建筑企业入渝备案查询关键词的优化方法
  • 设计吧 网站昆明排名优化
  • wordpress如何设置头像seo是什么及作用
  • 有什么办法可以在备案期间网站不影响seo网店代运营骗局
  • 海尔网站建设信息北京seo助理
  • 铜川市新区建设局网站高州网站seo
  • 四种常用的erp软件seo排名赚app下载
  • 域名绑了小程序还可以做网站吗网络营销岗位
  • 住房和城乡建设部的网站百度引擎
  • wordpress更改站点ip关键词优化营销
  • 建筑公司网站石家庄黄山seo排名优化技术
  • 花生壳 建设网站知乎推广优化
  • 广州市市委常委名单杭州seo网站建设靠谱
  • 东港区网站制作安卓优化大师下载安装到手机
  • 人人网站长工具seo综合查询怎么关闭
  • 如何利用路由建设网站seo网站推广技术
  • 做网站大优惠seo推广有哪些方式
  • 百度推广和哪些网站有合作自己怎样开网站
  • 网站建设佰首选金手指十八营销型网站优化
  • 做配电柜在哪个网站发布信息天津网站排名提升多少钱