浅探 OC alloc 底层实现

本文探讨了iOS开发中Objective-C的`alloc`方法的底层实现,通过三种方式(断点跟踪、汇编查找、设置符号断点)揭示了`objc_alloc`位于`libobjc`库,并引导读者在苹果开源库中寻找`libobjc`来进一步研究。内容还提到了内存大小计算和内存读取的相关命令。
摘要由CSDN通过智能技术生成

话说已做iOS 开发数年,但底层实现的涉及 可以说是少之又少,今天我们就大胆的迈出第一步,有了第一步才会有第二步第三步......开干!

 

    GreenMan *man=[GreenMan alloc];
    
    GreenMan *man1=[man init];
    
    GreenMan *man2=[man init];
    GreenMan *man3=[man init];
    GreenMan *man4=[man init];
    NSLog(@"%p_____%p",man,&man);
    NSLog(@"%p_____%p",man1,&man1);
    NSLog(@"%p_____%p",man2,&man2);
    NSLog(@"%p_____%p",man3,&man3);
    NSLog(@"%p_____%p",man4,&man4);
----------------------------------------打印结果
2021-06-06 15:39:11.478982+0800 001_Alloc[5871:340812] 0x600001424320_____0x7ffee6bea788
2021-06-06 15:39:11.479124+0800 001_Alloc[5871:340812] 0x600001424320_____0x7ffee6bea780
2021-06-06 15:39:11.479236+0800 001_Alloc[5871:340812] 0x600001424320_____0x7ffee6bea778
2021-06-06 15:39:11.479323+0800 001_Alloc[5871:340812] 0x600001424320_____0x7ffee6bea770
2021-06-0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值