2021年第一天,学习lua源代码,本文记录学习过程中遇到的问题和知识点,希望能在2021年上半年完成lua源代码的初步学习。

使用C模拟面向对象

使用union将所有数据包起来,一般情况下,如果看到一个数据类型是union,就可以知道这个数据想以一种较为省内存的方式来表示多种用途,而这些用途之间是互斥的,也就是说,在某个时刻该数据类型只会是其中的一个含义,一个简单的例子:

#include <stdio.h>

#include <stdlib.h>

typedef struct string {

int len;

char *data[0];

}strin......