1.iOS --佔用的位元組的總結

王強1476441637000發表於2018-08-09

主要的程式碼 64位系統下



@interface Person:NSObject
{//isa ---------- 8
    int _age;//4
    int _weight;//4 ---
    int _height;//-----8
}
------------------------------------------------------------------

Person * p = [[Person alloc]init];
 // 運算子 --編譯時 就計算完成 類似 巨集定義 ---例如 指標 64位 下就是輸出 8
NSLog(@"%lu",sizeof(p));
// 實際佔用的記憶體空間 ---  Person這個物件裡面3個成員變數 ,isa指標,根據結構體的記憶體對齊 
// 輸出 24
NSLog(@"%zu",class_getInstanceSize([Person class]));
// iOS 系統分配的空間 根據原始碼的看 結論是 16的倍數  最少 是 16; 輸出 32 (距離24 最近的就是32)
 NSLog(@"%zu",malloc_size((__bridge const void *)(p)));```
 
 

複製程式碼

相關文章