一:定义:
C API是一个C代码与Lua进行交互的函数集。他有以下部分组成:读写Lua全局变量的函数,调用Lua函数的函数,运行Lua代码片断的函数,注册C函数然后可以在Lua中被调用的函数,等等。
二:堆栈解析
1. 理解lua的栈到底是什么?lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的
TValue stack[max_stack_len] // 欲知内情可以查 lstate.c 的stack_init函数
lua的栈中压入的类型有数值,字符串,表,闭包。但是最后都是统一用TValue这种数据结构来保存的:
struct TValue {
Value value; //存储的值
int tt; //存储的类型
};
union Value {
GCObject *gcc