美文网首页
OC反汇编

OC反汇编

作者: king_jensen | 来源:发表于2019-02-06 22:16 被阅读6次

OC对象在内存中的存储

4B2B0A7DAC2B140C722CCF7D8DFE99F6.png

ARC下对象的管理

1932485EAE43B8E756060F3D3C312635.png

汇编中,编译器调用了objc_storeStrong方法,在objc源码中,查看该方法的实现

void
objc_storeStrong(id *location, id obj)
{
    id prev = *location; 
    if (obj == prev) {
        return;
    }
    objc_retain(obj);
    *location = obj;
    objc_release(prev);
}

实现很简单,首先和之前的引用相比判断是不是同一个引用,是的话就return;否则的话就对obj对象进行retain,并且释放location之前的引用(也就是说location指针不再指向之前的对象,要把之前对象引用计数减1)。

相关文章

  • iOS逆向之OC反汇编(下)

    本文主要理解OC对象反汇编,以及block常见类型的反汇编 OC反汇编 创建一个Person类,并在main函数中...

  • OC 反汇编

    OC block 汇编 在 main 方法中,写一个最简单的 Block: 汇编 打印 isa 指针: 可以看到为...

  • OC反汇编

    OC对象在内存中的存储 ARC下对象的管理 汇编中,编译器调用了objc_storeStrong方法,在objc源...

  • iOS OC反汇编

    OC的反汇编 笔记暂时提交, 日后修正 1. OC方法本质 objc_msgSend(id , sel), 汇编打...

  • iOS逆向实战--008:反汇编

    OC的反汇编 案例1:OC的方法调用打开Person.h,写入以下代码:#import

  • 汇编终章

    一. OC的反汇编 创建空工程 001--OC方法的本质,在工程中创建Person类 通过静态调试来进行计算 通过...

  • [arm64]6、OC反编译

    1、OC汇编 1.1、分析Person类的汇编过程 person类方法分析 1.2、block反汇编

  • 04-汇编基础(终)

    前言 本篇文章是汇编这一部分的最终章了,主要讲解4部分内容: 编译器优化 指针 OC反汇编 Block反汇编 一、...

  • 007——逆向之OC反汇编

    block反汇编 全局静态block 反汇编的代码如下: 当看到0x100c121e8 <+12>: adrp ...

  • 汇编-指针、OC & Block 反汇编

    编译器优化 局部变量&全局变量 在不进行优化的情况下: 改成Fastest、Smallest模式,a和b都被优化掉...

网友评论

      本文标题:OC反汇编

      本文链接:https://www.haomeiwen.com/subject/ivbisqtx.html