开始使用lua和Luabind1

来源:互联网 发布:tomcat开启debug端口 编辑:程序博客网 时间:2024/05/17 00:51

在c++中调用Lua的函数  :)

 

#include <iostream>
#include <stdlib.h>
#include <string>

extern "C"
{
 #include "lua.h"
 #include "lauxlib.h"
 #include "lualib.h"
}

#include <luabind/luabind.hpp>
#pragma comment(lib,"lua51.lib")
#pragma comment(lib,"luabind_debug.lib")

using namespace std;
 
int main()
{
 
  lua_State *myLuaState = luaL_newstate();
 
  luabind::open(myLuaState);
 
  string str = " function sum(l,r) "
                  "return l + r "
      "end";
 
 
  // 定义一个叫add的Lua函数
  luaL_dostring(myLuaState, str.c_str());
   
  //调用add函数
  cout << "Result: "
       << luabind::call_function<int>(myLuaState, "sum", 12, 23)
       << endl;
 
  lua_close(myLuaState);

  _sleep(1234);
}

 

 

大致步骤为建立环境,打开环境,载入字符串,调用对等函数,最后为关闭环境