lua环境由所有可操作的数据构成,编译好的函数,变量以及其他运行时内存。而所有的这些数据都将保存一个叫做lua_State的结构中。一个lua程序至少有个个lua_State,被称作lua环境,是用来发送和接收数据的地方,支撑着与其他语言的交互,具体来说就是利用lua栈(lua_Stack)来实现。
在c/c++中调用函数,具体过程可以分为几步:
1、新建一个lua环境并初始化或者已拥有lua_State
2、加载相应的程序库
3、加载执行lua文件
4、查询要执行的函数,通过函数名
5、参数入栈
6、设定参数个数,返回值个数,执行函数
7、从lua栈中提取并处理返回值。
源代码:
lua文件:
--测试vs2010下lua库配置
function add( a, b )
return (a+b)
end
c++文件:
//测试lua开发库
//1.新建一个lua_state 并初始化环境
//2.加载相关lua程序库
//3.加载执行lua文件
//4.查询要执行的函数,