Lua API (state manipulation)

一:LUA_API lua_State* (lua_newstate)(lua_Alloc f, void* ud)

用途: 创建一个lua虚拟机

参数: lua_Alloc 内存分配函数,用户自定义的内存分配函数

                     typedef void *(lua_Allco)(void *ud, void *ptr, size_t osize, size_t nsize)

        ud 传递给lua_Alloc的第一个参数

返回值: 指向Lua虚拟机内存的指针

二:LUA_API void (lua_close)(lua_State* L)

用途:关闭lua虚拟机

参数:指向要关闭的虚拟机指针

三:LUA_API lua_State* (lua_newthread)(lua_State *L)

四:LUA_API lua_CFunction (lua_atpanic)(lua_State* L, lua_CFunction panicf)

用途: 替换lua虚拟机的panic函数, panic函数是在无保护模式下调用lua api的出错的回调函数

参数: panicf 指定的回调函数

实现:

Lua API (state manipulation)_第1张图片

Lua默认的panic函数:

Lua API (state manipulation)_第2张图片


你可能感兴趣的:(Lua API (state manipulation))