今天我們來說說結構體內存對齊,廢話少說~~ 先上代碼和輸出結果: 代碼解析: 1.普通結構體 struct MyStruct1 { doublea; // 占8字節(jié) 起...
首先我們從alloc流程中initInstanceIsa開始方法入手: 接下來跟進isa_t: 接下來看看ISA_BITFIELD都包含什么: nonpointer:表示是否...
這片文章主要分析的是類的結構以及對象-類-元類-根元類之間的走位. 一. isa的指向以及類之間的關系 準備工作定義兩個類 LLPersonLLTeacher (LLTea...
1.方法歸屬 自定義類一個實例方法和一個類方法 main函數調用 lgObjc_copyMethodList 函數:用于獲取類的方法列表 lgInstanceMethod_c...
一、初探cache_t 1.cache_t結構 首先找到objc_class 點擊cache進去看看 太多了 就不都截圖了 看看宏定義是什么回事 CACHE_MASK_STO...
1.runtime簡介 Runtime分為兩個版本,legacy和modern,分別對應Objective-C 1.0和Objective-C 2.0。我們通常只需要專注于m...
在快速查找流程中,如果沒有還沒有找到方法實現,就會走到慢速查找流程 慢速查找流程分析 首先我們先來調試一下 在main中,例如[person say666]對象方法調用處加一...
1. instrumentObjcMessageSends輔助分析 在調用方法前后加上instrumentObjcMessageSends,運行后在文件夾\tmp\下會產生一...
本文的目的主要是分析dyld的加載流程 首先我們先運行個代碼 來引入我們今天的主題~~ 運行結果: 運行程序,查看 load、kcFunc、main的打印順序,下面是打印結果...