介绍LuaPlus:好用的Lua For C++扩大[VC/C++编程]
本文“介绍LuaPlus:好用的Lua For C++扩大[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
LuaPlus是Lua的C++加强,也就是说,LuaPlus本身就是在Lua的源码上举行加强得来的.用它与C++举行合作,是对比好的一个挑选.
LuaPlus目前版本为:LuaPlus for Lua 5.01 Distribution Build 1080 (February 28, 2004).大家可以到http://luaplus.org/ 站点下载:
源码(http://wwhiz.com/LuaPlus/LuaPlus50_Build1081.zip)
目标码(http://wwhiz.com/LuaPlus/LuaPlus50_Build1081_Win32Binaries.zip)
介绍LuaPlus: 好用的Lua For C++扩大 沐枫网志
[由于lua内核进级到5.1,因此,luaplus也一样随着进级.最新的luaplus可以通过svn获得,地址 svn://svn.luaplus.org/LuaPlus/work51,同时,luaplus基于5.0的内核仍旧在保护更新,也可以通过svn获得,地址 svn://svn.luaplus.org/root/LuaPlus/Dev ]
我将在下面阐明,若何利用LuaPlus,以及若何更便利的让LuaPlus与C++的类合作无间.
1. 调用Lua脚本
// 成立Lua注释器:
LuaStateOwner state;
// 履行Lua脚本:
state->DoString("print('Hello World\\n')");
// 载入Lua脚本文件并履行:
state->DoFile("C:\\test.lua");
// 载入编译后的Lua脚本文件并履行:
state->DoFile("C:\\test.luac");
2. 与Lua脚本彼此调用
// 为Lua脚本设置变量
state->GetGlobals().SetNumber("myvalue", 123456);
// 得到Lua变量的值
int myvalue = state->GetGlobal("myvalue").GetInteger();
// 调用Lua函数
LuaFunction<int> luaPrint = state->GetGlobal("print");
luaPrint("Hello World\n");
// 让Lua调用C语言函数
int add(int a, int b){ return a+b;}
state->GetGlobals().RegisterDirect("add", add);
state->DoString("print(add(3,4))");
// 让Lua调用C++类成员函数
class Test{public: int add(int a, int b){return a+b;}};
Test test;
state->GetGlobals().RegisterDirect("add", test, &Test::add);
state->DoString("print(add(3,4))");
以上是“介绍LuaPlus:好用的Lua For C++扩大[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |