C/C++使用lua用例

来源:互联网 发布:森林无网络怎么联机 编辑:程序博客网 时间:2024/06/06 07:01


extern "C"
{
#include "../LUA/lua.h"
#include "../LUA/lualib.h"
#include "../LUA/lauxlib.h"
}
#pragma comment(lib, "LUA/lua51.lib")


//使用代码演示:

{

//lua 脚本
lua_State *lua_state;
lua_state = lua_open(); //5.1之后使用luaL_newstate();
if (lua_state) {
luaopen_base(lua_state);
luaL_openlibs(lua_state);
err = luaL_dofile(lua_state, "test.lua");
if (err) {
print("%s", lua_tostring(lua_state, -1));
lua_pop(lua_state, 1);
} else {

//取lua计算出的变量,变量顺序是堆栈顺序
lua_getglobal(lua_state,"only"); //-3
lua_getglobal(lua_state, "add_codes");  //-2
lua_getglobal(lua_state, "remove_codes"); //-1
only = lua_toboolean(lua_state, -3); //-3
add_codes = lua_tostring(lua_state, -2); //-2
remove_codes = lua_tostring(lua_state, -1); //-1
}
lua_close(lua_state);
}

}


原创粉丝点击