例1:纯C环境下,注册C函数进LUA环境 (lua调用c)
Main.c
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
int foo(lua_State *L)
{
int n = lua_tonumber(L, 1);foo函数参数
lua_pushnumber(L, n + 1);foo 返回值
return 1; foo函数返回值个数
}
int main()
{
lua_State *L = lua_open(); 初始化一个state
luaL_openlibs(L); 加载lua基本库
lua_register(L, "foo", foo);注册C函数foo
luaL_dofile(L, "a.lua");装载,检查,并立即执行a.lua
lua_close(L);与lua_open对应,关闭state