当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

如安在C++中集成Lua脚本(LuaPlus篇)[VC/C++编程]

赞助商链接



  本文“如安在C++中集成Lua脚本(LuaPlus篇)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

去年我作了一个Lua脚本的C++包装,有很多朋友感爱好,并尝试利用,我感到受宠若惊.事实上,我作的包装,学习的目的对比强,它还是有很多缺陷的.为了让朋友们少走弯路,我举荐利用LuaPlus作为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,以及若何更便利的让LuaPlus与C++的类合作无间.

1. 调用Lua脚本

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/skyremember/archive/2008/09/13/2920834.aspx

// 成立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, add);
state->DoString("print(add(3,4))");


  以上是“如安在C++中集成Lua脚本(LuaPlus篇)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 如安在CentOS安装ispCP虚拟主机掌握面板
  • <b>如安在CentOS 5.5上安装Kippo蜜罐</b>
  • <b>如安在C++ Builder 2007中增添ActiveX控件</b>
  • 如安在C++ Builder 2007中安装自己的组件
  • 如安在C++Builder中利用全局变量
  • <b>如安在C++ Builder中自定义属性[properties]</b>
  • <b>如安在C++ Builder中检测硬件</b>
  • 如安在C++中集成Lua脚本(LuaPlus篇)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .