240 发简信
IP属地:北京
  • Kotlin Coroutine 底层实现原理

    简单来说,本质是每一个函数都是一个状态机。更严谨一点的说法是:Kotlin 编译器会将每一个 suspend 函数(挂起函数)编译成一个状态机(...

  • Resize,w 360,h 240
    鸿蒙开发指南

    背景 鸿蒙系统是中国首款完全自主研发的分布式操作系统,其底层技术实现完全自主可控,摆脱了对安卓和iOS的依赖。尤其在当前国际科技竞争加剧的背景下...

  • char16_t、unsigned short 和 UTF-16之间的关系

    char16_t、unsigned short 和 UTF-16 之间有密切的关系: 定义和大小: 关系说明: char16_t:C++11引入...

  • Resize,w 360,h 240
    函数栈帧与IP寄存器

    接着上篇文章内容 函数栈帧与BP寄存器[https://juejin.cn/post/7402058032651665462] 我们继续构造两个...

  • Resize,w 360,h 240
    函数栈帧与BP寄存器

    让我们写一段简单的代码来分析 通过GDB调试,我们可以查看寄存器和汇编代码,方便我们理解这里我们在main,foo函数加上断点 通过layout...

  • Resize,w 360,h 240
    inline hook 原理

    主要思路是找到被hook函数地址,并将被hook函数地址执行指令替换成jmp <地址偏移量>,这个地址由hook函数地址和target函数地址相...

  • Resize,w 360,h 240
    Debugger底层原理

    弄清楚GDB的底层原理,首先需要了解一下ptrace这个系统调用: ptrace 是一个用于在 Unix 和 Unix-like 操作系统上进行...

  • MMKV修改数据源码

    大家都知道MMKV性能好,因为是直接操作内存。内存其实就是一个数组结构,根据地址去寻址查找数据的,就跟数组通过index查找数据一样,但是数组修...

  • 使用libunwind获取堆栈

    Ubuntu安装libunwindapt-get install libunwind8-dev编译命令:gcc unwind.c -lunwind