首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
董三毛
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
36
文章 36
沸点 0
赞
36
返回
|
搜索文章
最新
热门
char16_t、unsigned short 和 UTF-16之间的关系
unsigned short常用于旧代码中表示UTF-16,两者在大多数情况下可以互换使用,char16_t是专门为UTF-16设计的类型
函数栈帧与IP寄存器
在 x86 架构中,返回地址通常占用 4 个字节(32 位系统)或 8 个字节(64 位系统)。这个返回地址存储了函数执行完毕后要返回到的指令地址,用于指示程序继续执行的位置。
函数栈帧与BP寄存器
在x86 架构中,栈是一个关键的数据结构,通常用于存储函数调用时的局部变量、函数参数、返回地址以及其他重要信息。栈是一个后进先出(LIFO)的数据结构,栈顶指针向下移动时会分配空间,向上移动时释放空间
inline hook 原理
主要思路是找到被hook函数地址,并将被hook函数地址执行指令替换成jmp <地址偏移量>,这个地址由hook函数地址和target函数地址相减计算而来,jmp相对跳转指令占5个字节,还需要减去这个
Debugger底层原理
弄清除GDB的底层原理,首先需要了解一下ptrace这个系统调用: ptrace 是一个用于在 Unix 和 Unix-like 操作系统上进行进程调试的系统调用。
MMKV源码·修改数据
大家都知道MMKV性能好,因为是直接操作内存。 内存其实就是一个数组结构,根据地址去寻址查找数据的,就跟数组通过index查找数据一样, 但是数组修改是很不方便的,比如删除中间一个数据,受影响的都要往
使用libunwind获取堆栈
Ubuntu安装libunwind apt-get install libunwind8-dev 编译命令: gcc unwind.c -lunwind
AspectJ基本语法和意义
AspectJ是一种面向切面编程(AOP)语言,它可以用于在Java代码中定义和使用切面。Android中使用也比较广泛。
个人成就
文章被点赞
4
文章被阅读
1,717
掘力值
136
关注了
20
关注者
0
收藏集
2
关注标签
10
加入于
2016-12-17