OC底层_alloc分析

alloc 做了什么 ?

开辟了 内存空间 , 栈内存是连续的, 内存相差 8字节

怎么开辟的呢?

1 开辟多少内存?
计算开辟内存大小

2 怎么去申请内存 ?

3 关联关联的类

init 做了什么 ?

不开辟内存空间 , 指针

init :  return (id)self ; // 构造方法 工厂设计 , 给用户提供入口
new :  return [callAlloc(self,false) init];  (alloc init)

探索方法:

1 符号断点 去定位 符号断点 ??

2 去苹果开源的库 : 781 在哪 ??

https://opensource.apple.com/

3 debug workflow : always show disassembly

编译器优化

build setting : 搜索 opt ,

16字节对齐 : 效果 :16的倍数

为什么是 16 ? 一个对象是8字节

lldb 指令 :po x : 打印内存 x/4gx : ???

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。