首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
leevi
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
5
文章 5
沸点 0
赞
5
返回
|
搜索文章
最新
热门
OC底层探索(十):IMP快速查找
objc_msgSend到CacheLookup 调用方法[person say] 前面我们已经知道调用方法就是发送消息,底层调用的就是objc_msgSend(person, @selector(s
OC底层探索(九):cache 到 objc_msgSend
cache_t 读取流程分析 在 insert 方法打上断点,查看 发现写入缓存之前地调用的是log_and_fill_cache 再之前是lookUpImpOrForward 然后就是objc_ms
OC底层探索(八):cache_t
cache_t的数据结构 成员变量 真机架构下常量 可以看出 cache_t与 buckets 很有关系 buckets 存的就是 sel跟 imp , 只是不同架构存到位置不一样 函数(不全) bo
OC底层探索(七):isKindofClass & isMemberOfClass
问题 已知 LGPerson : NSObject, 以下打印是什么 打印结果 isKindOfClass分析 具体调用的函数 要想搞清楚这个问题,我们首先要知道isKindOfClass的底层调用了
OC底层探索(六):类的原理
runtime的优化 clean memory 是指加载后不会发生改变的内存 class_ro_t是属于 clean memory,是只读的 clean memory 可以进行移除从而节省更多的空间
OC底层探索(五):类的结构
isa分析到元类 我们知道Class 是 objc_class*类型也就是一个指针,objc_class 是继承与 objc_object, 所以Class 也是有isa的 lldb分析isa 通过对
OC底层探索(四):对象的本质
准备 想要了解本质,需要用Clang将OC的类编译为底层的C/C++ Clang是基于LLVM的C/C++/Object-C的编译器,相当于是LLVM的前端 把⽬标 main.h⽂件编译成c++⽂件
OC底层探索(三):对象的内存
结构体内存对齐 内存对齐原则 结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成员的⼦成员⼤⼩(只要该
OC 中Runtime被修复的sel对应的imp
: 编译器优化
准备 汇编指令 在main函数中实现以上代码 加上断点,运行 查看汇编代码 可以使用 register read 来读取寄存器 w 表示32位的寄存器,x 表示64位的寄存器 由于使用的是int 类型
下一页
个人成就
文章被点赞
31
文章被阅读
14,779
掘力值
703
关注了
0
关注者
15
收藏集
0
关注标签
20
加入于
2021-06-16