在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);
}
大致步骤为建立环境,打开环境,载入字符串,调用对等函数,最后为关闭环境