C/C++使用lua用例

2013-12-12 14:46:50 · 作者: · 浏览: 207

  C/C++使用lua用例

  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();

  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);

  }

  }