x86_64架构下,runtime相关结构体的大小
结构体 | 大小 | member |
---|---|---|
class_ro_t | 72 | flags instanceStart instanceSize reserved ivarLayout name baseMethodList baseProtocols ivars weakIvarLayout baseProperties |
class_rw_t | 64 | |
objc_class | 40 | superclass cache bits isa |
objc_object | 8 | isa |
method_t | 24 | name type imp |
entsize_list_tt | 与count有关 | entsizeAndFlags count first |
method_list_t | 32 | first = method_t |
protocol_list_t | 8 + 8n | 变长 |
ivar_t | 32 | offset name types alignment_raw size |
property_t | 16 | name attributes |
-
static_cast 类型转换
-
TLS全称为Thread Local Storage,是系统为解决一个进程中多个线程同时访问全局变量而提供的机制,保证数据的完整性与正确性,也可以称为 Thread Specific Data ,即表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的,在linux中主要有pthread_key实现。