c++ 代码
struct NSObjc_IMPL {
Class isa;
};
struct Person_IMPL {
struct NSObject_IMPL NSOBJCT_IVARS;
int _age; // 4
int _height; // 4
}
@interface Person:NSObjc
int _age;
int _height;
@end
类的本质是一个结构体
手打
runtime 源码中 allockWithZoon 方法 苹果操作系统内存对齐 一个类 会按照 最低16 的倍数来多对齐
class_getInstenceSize 返回 实例对象class 最少需要多少空间 sizeOf 计算 Class 的大小
malloc_size 返回系统实际分配给 对象的 内存大小
其他操作系统也有类似的 方法 问题
// Linux // gnu 全称是 gnu is not unix 开源组织