脚本语言
文章平均质量分 66
foruok
我的微信公众号——安晓辉生涯,聚焦程序员的职业选择、适应与发展。
展开
-
LuaPlus学习(三)
从lua调用C++函数和对象 利用LuaPlus可以方便的从C++中调用lua脚本,翻过也一样。通过注册函数或类对象,lua便可以访问C++。 一、C风格函数注册 Lua提供了C风格的回调函数注册,该函数原型如下:int Callback(LuaState* state); 无论是全局函数、类非虚函数、类虚原创 2008-04-10 11:42:00 · 6868 阅读 · 0 评论 -
tolua++初探(一)
用luaplus试验了下,想把简单的C++类映射到lua脚本中不难,但是复杂一点的,比方说类的聚合、继承等,比较麻烦。我试验了两天,用表中表来实现是可以的,但自己弄太麻烦了。说到底,我只是想用一下而已,不是想从头弄一个系统。 用CEGUI时发现它用了tolua++,从网上DOWN了源码(1.0.92),支持Lua5.1。我用VS2005,用源码包里的sln顺利编译出tolua++原创 2008-04-17 17:20:00 · 8490 阅读 · 4 评论 -
tolua++初探(二)
tolua++的源码包中有很多测试例子。这里我用更最简单的例子来学习。 第一个例子是数组。仅仅是把C++中的一个数组导出到Lua中,可以在脚本中访问并修改。 tarray.pkg文件: $#include "tarray.h"extern int g_Arr[10]@Arr; 很简单,$#include "tarray.h",原创 2008-04-17 17:44:00 · 10540 阅读 · 1 评论 -
使用lua和tolua++遇到的一个古怪问题
导出了一个编辑控件到lua,有个函数GetText,原型是这样的const WCHAR *GetText()。 我在lua脚本中调用GetText函数,然后把结果传递给另一个函数SetFunc(const WCHAR *,...)。 假设我停留在一个窗口,点击某个按钮会触发上述操作。那么我第一次点击该按钮时结果和预期的一样,第二次点的时候tolua++解释器就报错了,原创 2008-06-27 16:25:00 · 4351 阅读 · 0 评论 -
tolua++初探(六)
这是学习tolua++的最后一篇了。在这一篇里完成一个稍微复杂一点的例子(^_^其实还是很简单)。 导出三个类CBase、CDerived1、CDerived2到lua,导出两个函数toDerived1、toDerived2。lua脚本中声明两个函数Derived1Test和Derived2Test,我们在C++中调用。Derived1Test和Derived2Test会调用to原创 2008-04-18 14:31:00 · 7558 阅读 · 3 评论 -
tolua++初探(五)
这个……,tolua++支持采用了单继承的类的直接导出,在lua中可以像在C++中那样访问基类的方法。和其它简单类的导出没什么区别。 只是个简单的示例,我们定义一个控件基类,从它派生一个按钮类。然后在lua中分别访问基类和按钮类的方法。我们导出一个全局变量lbutton,同时也在lua中生成一个新button。 先看实际的头文件inheritance.h,我把原创 2008-04-18 13:34:00 · 5118 阅读 · 1 评论 -
tolua++初探(四)
聚合是最常见的构造新类的方式了,另一个是继承。tolua++支持单继承,后面会提到继承的例子。这里先看看怎么将利用了聚合的类导出到lua中。 我的目的是想在Lua中使用C++类的实例,而不是在lua中生成C++类实例,所以我在利用tolua++向lua导出类时一般不导出构造函数,这样就无法在lua中生成类实例。 但是为了演示的方便,这个例子中用到的两个简单类原创 2008-04-18 11:42:00 · 6346 阅读 · 2 评论 -
tolua++初探(三)
利用tolua++导出类到lua中简单方便,你可以导出静态成员函数、普通成员函数、静态成员变量、普通成员变量,你也可以指定类的哪些方法被导出。你可以将具有单继承的派生类导出,派生类可以很自然地访问基类的方法。更多的细节,请参考tolua++的在线文档。 首先生成实际的c++头文件,定义我们要导出的类。tclass.h内容如下:#ifndef _TESTCLA原创 2008-04-18 10:18:00 · 7895 阅读 · 1 评论 -
LuaPlus学习(四)
一个完整的例子 试验了一个完整的例子。 在C++中生成一个类,注册到lua。 从lua调用C++类的成员函数。 在Alternate.lua中写了阶乘函数factorial。 从C++中调用factorial。 Alternate.lua如下:print("now in alternate.lua");p原创 2008-04-10 16:15:00 · 4762 阅读 · 2 评论 -
xcopy拷贝目录并排除特定文件
xcopy非常强大,拷贝文件、目录树,还可以排除指定目录,exclude用法示例原创 2016-07-26 09:18:52 · 19526 阅读 · 2 评论