240 发简信
IP属地:天津
  • Resize,w 360,h 240
    13、Mach-O文件

    这篇内容比较多,由于前面dyld的需要拓展,后续也需要分析这个文件,放查漏补缺太多了,所以这里单独分析一波。 1、名词解释 百度官方解释:Mac...

  • Resize,w 360,h 240
    12、dyld与objc的关联

    环境说明:objc-818.2源码、MacOS 11.2.1系统,Xcode 12.4,调试可以参考objc-runtime源码编译[https...

  • Resize,w 360,h 240
    11、APP的加载与dyld

    1、main函数分析 之前很多的分析都是从main.m文件入手的,但是从来没分析过为啥APP的启动是通过这个文件来的,所以有疑问就要解决一下,新...

  • Resize,w 360,h 240
    10、方法的调用原理(3)

    由于这章分析比较重要和前一章联系紧密,因此用的旧的系统,和objc781.1的源码,还有个原因就是当时用自己电脑更新到Big Sur时候,编译源...

  • Resize,w 360,h 240
    9、方法的调用原理(2)

    好消息,先前电脑升级成Big Sur,导致新系统下源码调试有问题,现在Big Sur又更新版本了,已经可以配置源码调试了,这篇文章后将用新的环境...

  • Resize,w 360,h 240
    查漏补缺(持续更新。。)

    1、slowpath与fastpath 在源码分析过程中,多次遇到过slowpath与fastpath的分支判断情形,最初简单以为是编译器优化选...

  • Resize,w 360,h 240
    8、方法的调用原理(1)

    1.编译后的方法调用 还是之前的Person类的源码: 要研究方法调用就绕不过编译后的代码,这里用clang编译一下: 并找到main方法中方法...

  • Resize,w 360,h 240
    7、Cache_t分析

    1、Cache_t结构 在objc_class中除了isa、superclass、bits三个重要的属性外还有一个重要的属性并未进行分析就是ca...

  • Resize,w 360,h 240
    6、类结构分析

    先前电脑升级成Big Sur且未开源,导致objc4-781.1源码无法调试,所以更换电脑,基于xcode 11.6, MacOS 10.15....