lua重新学习笔记1
GC(Garbage Collection,垃圾回收)
任何需要进行GC的Lua数据类型,必然以CommonHeader作为该结构体定义的最开始部分。可以将CommonHeader这个成员理解为一个基类的所有成员,而其他需要回收处理的数据类型均从这个基类继承下来,所以它们的结构体定义的开始部分就是这个成员。
GCObject这个联合体,将所有需要进行GC的数据类型全部囊括其中,这样定位和查找不同类型的数据时就方便多了。
Lua同时采用两种方式来做到数据统一。根据前面的分析,这表现在以下两个方面。
1.具体类型中CommonHeader,用来存放所有数据类型都通用的字段。
2.TValue作为统一表示所有数据的数据结构,内部使用了联合体Value将所有数据都包起来。