alloc 做了什么 燕侠?
開辟了 內(nèi)存空間 棒掠, 棧內(nèi)存是連續(xù)的孵构, 內(nèi)存相差 8字節(jié)
怎么開辟的呢?
1 開辟多少內(nèi)存烟很?
計(jì)算開辟內(nèi)存大小
2 怎么去申請(qǐng)內(nèi)存 颈墅?
3 關(guān)聯(lián)關(guān)聯(lián)的類
init 做了什么 ?
不開辟內(nèi)存空間 雾袱, 指針
init : return (id)self 恤筛; // 構(gòu)造方法 工廠設(shè)計(jì) , 給用戶提供入口
new : return [callAlloc(self,false) init]; (alloc init)
探索方法:
1 符號(hào)斷點(diǎn) 去定位 符號(hào)斷點(diǎn) 谜酒?叹俏?
2 去蘋果開源的庫 : 781 在哪 ?僻族?
https://opensource.apple.com/
3 debug workflow : always show disassembly
編譯器優(yōu)化
build setting : 搜索 opt 粘驰,
16字節(jié)對(duì)齊 : 效果 :16的倍數(shù)
為什么是 16 屡谐? 一個(gè)對(duì)象是8字節(jié)
lldb 指令 :po x : 打印內(nèi)存 x/4gx : ???