alloc 做了什么 ?
開辟了 內(nèi)存空間 , 棧內(nèi)存是連續(xù)的, 內(nèi)存相差 8字節(jié)
怎么開辟的呢?
1 開辟多少內(nèi)存?
計算開辟內(nèi)存大小
2 怎么去申請內(nèi)存 ?
3 關(guān)聯(lián)關(guān)聯(lián)的類
init 做了什么 ?
不開辟內(nèi)存空間 , 指針
init : return (id)self ; // 構(gòu)造方法 工廠設(shè)計 , 給用戶提供入口
new : return [callAlloc(self,false) init]; (alloc init)
探索方法:
1 符號斷點 去定位 符號斷點 ??
2 去蘋果開源的庫 : 781 在哪 ??
https://opensource.apple.com/
3 debug workflow : always show disassembly
編譯器優(yōu)化
build setting : 搜索 opt ,
16字節(jié)對齊 : 效果 :16的倍數(shù)
為什么是 16 ? 一個對象是8字節(jié)
lldb 指令 :po x : 打印內(nèi)存 x/4gx : ???