lua
peter ren
这个作者很懒,什么都没留下…
展开
-
Lua中的元表与元方法
前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那这篇博文就是主要讲的如何定义这个指定的函数,这个指定的函数是什么?希望对学习Lua的朋友有帮助。转载 2016-02-02 11:41:53 · 317 阅读 · 0 评论 -
Lua开源项目
Project CatalogFor a listing of projects by tags click here. You might also want to see the FAQ.aabelhas activerdf aeslua ajato alien alsedit alt-getopt alua andes apoc转载 2016-02-03 14:04:35 · 2658 阅读 · 0 评论 -
c语言调用lua
1.首先要下载安装lua环境 安装进入官方站点(http://www.lua.org/download.html )下载最新的安装包。当前是 Lua 5.2.0wget -c http://www.lua.org/ftp/lua-5.2.0.tar.gz 解压:tar zxvf lua-5.2.0.tar.gz 安装readlinewget -c ftp://ftp.gnu.org/gnu/rea原创 2016-05-19 10:54:10 · 384 阅读 · 0 评论 -
lua __call metamethod
跟C++中的functor比较像,C++中的functor就是重载了operator()的对象,当把一个C++对象当成函数一样调用obj()时,实际上启动了对于obj的operator()的调用。lua table如果设置了metamethod __call,调用对象luaobj()时,会调用到__call方法,具体调用机制跟其它的metamethod没有什么区别。 示例:function tab原创 2016-05-19 14:07:45 · 1489 阅读 · 0 评论 -
lua 调用c模块
c函数声明要符合类型:typedef int (*lua_CFunction) (lua_State *L); 1.在c代码运行环境下执行lua代码。#include <stdio.h>#include <string.h>#include <lua.h>#include <lauxlib.h>#include <lualib.h>static int cadd(lua_State* L)原创 2016-05-19 18:21:44 · 373 阅读 · 0 评论 -
lua使用
一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的转载 2016-06-08 19:00:07 · 613 阅读 · 0 评论