关于使用alloc创建对象底层分析

路漫漫其修远兮,吾将上下而求索!

底层源码需要先下载objc4-781

点击这里下载

Git已配置好代码

对底层源码探索有三种形式

1.下符号断点的形式(Symbolic Breakpoint 符号断点)直接跟流程走;

2.打全局断点通过摁住control - step into一步步执行;

3.通过汇编形式查看(Debug -> Debug Workflow -> Always show Disassembly )

下面是通过断点形式走的alloc底层流程

1.当使用alloc创建对象之后,第一步底层先执行_objc_rootAlloc方法;


2.执行完_objc_rootAlloc会走callAlloc方法


3.接下来会执行_objc_rootAllocWithZone方法


4.执行_class_createInstanceFromZone方法


5.计算大小、开辟内存及返回


简单画了下流程图,如下


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容