-noUser-

安卓-derry老师

职业: IT讲师
签名:
2024-04-25 15:14 发表了评论 在thread.h文件中: #include <cstdint> class Thread { public: Thread(uint32_t peer, int id) : native_peer(peer), thread_id(id) {} uint32_t getThreadId() { return *reinterpret_cast<uint32_t *>(native_peer + sizeof(uint32_t) + sizeof(int)); } private: uint32_t native_peer; int thread_id; }; 关于为什么要使用reinterpret_cast<uint32_t *>(native_peer + sizeof(uint32_t) + sizeof(int) + sizeof(uint32_t))这样的写法才能获取到tid的原因是因为native_peer是一个指针,我们需要将其解释为一个uint32_t类型的指针,然后再对其进行偏移来获取tid的值。通过reinterpret_cast可以让编译器将一个指针转换为另一种类型的指针,以便正确解释内存中的数据哦
2024-04-25 14:17 答案被选中 C++ 指针移动获取结构体元素
2024-04-25 14:09 回答问题 android 可以通过 gradle transform 修改Android sdk(android.util.Log) 源码吗?
2024-04-25 14:07 回答问题 C++ 指针移动获取结构体元素
2024-04-25 14:04 回答问题 MediaCodec和AudioTrack 组合播放视频,双声道视频播放正常,单声道视频声音播放异常。
2024-01-08 13:50 回答问题 关于so文件相关错误
2023-12-04 22:18 回答问题 鸿蒙目前有哪些厂商支持
2023-11-27 14:10 回答问题 android sdk中的aidl及bean增加字段,程序运行崩溃
2023-11-01 15:06 答案被选中 多项目中使用一套代码依赖不同jar包的问题
2023-10-30 17:11 回答问题 多项目中使用一套代码依赖不同jar包的问题
个人成就
发布问题数:
1 个
发布文章数:
1 篇
答案被采纳数:
168 次
评论次数:
0 次
帮助
关注数: 关注的问题和作者的总数
收藏数: 收藏的问题和文章的总数