08 2013 档案

摘要:LUA modue require package 区别2011-01-19 12:41:35|分类:默认分类|标签:luapackagemodulerequire加载|字号订阅【lua 5.1 的 module】lua 从 5.1 开始终于官方提供统一的 module 实现标准了,这是个值得庆幸的事。今天读了下相关的源码和文档,把这套机制搞清楚了,还是很巧妙的。从简洁这个角度看,要比 python 强 :)有一点容易被忽略掉(我的同事在用的时候就忽略掉了),module 指令运行完后,整个环境被压栈,所以前面全局的东西再看不见了。比如定义了一个 test 模块,使用module(" 阅读全文
posted @ 2013-08-22 17:55 ghost&240 阅读(659) 评论(0) 推荐(0)
摘要:http://www.acejoy.com/forum.php?mod=viewthread&tid=3172&reltid=3173&pre_thread_id=0&pre_pos=1&ext=CB 阅读全文
posted @ 2013-08-17 16:01 ghost&240 阅读(186) 评论(0) 推荐(0)
摘要:先要将proto文件编译成.pb文件,然后再动态绑定实现lua protobuffer,这就需要了解云风做的pbc的项目,地址为:https://github.com/cloudwu/pbc/blob/master/binding/lua/README.md具体的方式是,下载pbc的项目;在pbc/binding/lua下面编译出protobuf.so放在LUA_PATH下面,或者将protobuf.lua放在LUA_PATH下,就可以调用protobuf中的库方法cd pbc/binding/luamake如果提示-fPIC-->删去pbc-master/build/o下的所有文件-- 阅读全文
posted @ 2013-08-12 16:03 ghost&240 阅读(10252) 评论(3) 推荐(0)
摘要:使用下面方式可保存lua任何值,目前只实现fucntion的保存,且无参数。如果需要实现参数,可自己扩展:可实现下面方式:CFun( lua_fun ) -- okCFun( function() print("Hello world") end ) --oklocal xxx = function print("Hello world" ) endCFun( xxx ) --oklua_value.h#ifndef __LUA_VALUE_H__#define __LUA_VALUE_H__extern "C" {#include 阅读全文
posted @ 2013-08-01 16:06 ghost&240 阅读(711) 评论(0) 推荐(0)
摘要:gcc编译gcc -I/usr/local/include/ -L/usr/local/lib/ -lm -o engine_mlisten_lua ./src/engine_mlisten_lua.c-levent -lpthread -ldl /usr/local/lib/liblua.aLua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFuncti 阅读全文
posted @ 2013-08-01 11:15 ghost&240 阅读(1153) 评论(0) 推荐(0)