上一篇文章描述了Lua和C交互的原理, 这篇文章主要通过Demo程序加深Lua和C的交互....涉及到交互,分为:
Lua中如何调用C函数
C中如何调用Lua函数
这里先描述C中如何调用Lua函数, 想象一下, C到底怎么和Lua进行通信,如何告诉它我调用的是xxx参数?...Lua采取的是利用栈进行交互
Lua提供了C API对栈进行操作, 利用各种Lua_pushXXX将不同的值压入栈中,然后调用Lua脚本时自然会退栈取出参数运行
Lua栈状态需要自己进行维护,若发生多线程同时对.../* 出栈,将给定索引处的Lua值转换为C字符串 */
printf("str = %s\n",str);
}
lua_getglobal(L,”str”)
执行两步操作
首先将str放入栈中...然后由Lua去全局表中匹配str的值,并将str的值返回栈顶
luaL_dofile(L,”helloscript.lua”);
它是这样子定义的:
#define luaL_dofile(L