OC底層_alloc分析

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 : ???

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容