前两篇文章中,已经介绍了使用vs2010编译lua5.1源码生成lua.lib 和 vs项目中使用c++调用lua,可以保证demo在vs上运行起来了。这里再详细介绍下c++和lua之间的相互调用以及原理。
c++与lua直接的调用,实际上通过一个栈结构来传递数据,该栈结构栈顶的索引值为-1,向栈底方向索引值依次为-1 ,-2......栈顶索引为1.栈结构里可以放函数,表,字符串,整形等各种l...
分类:
编程语言 时间:
2014-08-24 11:40:52
阅读次数:
290
先来个 hello, world! 看看解释器是否能正常工作: print("hello, world") 可以正常输出,说明解释器能正常干活。 再看看几个官方自带的测试文件是干什么的: array.lua $debug
a?=?@()
i=0
while?i<10?do
?...
分类:
其他好文 时间:
2014-08-24 01:54:27
阅读次数:
295
a 35 curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz
36 ls
a 37 tar zxf lua-5.2.3.tar.gz
38 cd lua-5.2.3
39 lsz
40 sudo make install
41 ls
42 sudo...
分类:
其他好文 时间:
2014-08-23 20:24:41
阅读次数:
340
用lua简单地异或加密文件,注意解密的key是加密key的倒序: 1 require 'bit' 2 3 local encode = function(inpath, outpath, key) 4 local inf = assert(io.open(inpath, "rb")) 5 ...
分类:
其他好文 时间:
2014-08-23 20:15:51
阅读次数:
5713
递归打印lua中的table,并写到文件里: 1 local pairs_by_keys = function(inTable) 2 local temp = {} 3 for k, v in pairs(inTable) do 4 temp[#temp + ...
分类:
其他好文 时间:
2014-08-23 20:14:11
阅读次数:
218
用lua遍历文件目录,收集特定类型的文件: 1 local LINUX = "linux" 2 local WIN = "win" 3 local platform = WIN 4 5 local need_the_filetype = function(tfiletype, filename) ....
分类:
其他好文 时间:
2014-08-23 19:02:01
阅读次数:
630
为什么是 Lua 忘记是什么时候接触到 Lua 的了,也忘记是为什么接触到她的。现在想想,也许是因为下面两个原因: WOW 里有用到她,我上学的时候,玩过一段时间 WOW,了解一点 WOW 插件的编写,当时觉得这个语言挺有...
分类:
其他好文 时间:
2014-08-22 14:40:29
阅读次数:
231
发现了一个Nginx的LUA脚本:lua-resty-rabbitmqstomp,可以让Nginx通过LUA脚本访问RabbitMQ消息队列,这个脚本是通过stomp协议连接RabbitMQ的stomp适配器,来pub/sub消息的
关于RabbitMQ-STOMP安装使用相关内容可以参见:RabbitMQ STOMP Adapter
关于Nginx-LUA模块安装使用参见:LAMP架构演进到LAMPGC,再演进到LNMLGC
关于STOMP协议相关资料参见这里:
STOMP官方英文协议1.1版
STOMP...
分类:
其他好文 时间:
2014-08-22 12:59:08
阅读次数:
544
如果你接触过lua这种小巧的脚本语言,你就会经常接触到一个叫做协程的神奇概念。大多数脚本语言都有对协程不同程度的支持。但是大多编译语言,如C/C++,根本就不知道这样的东西存在。当然也很多人研究如何在编译语言实现协程的实现,轮子一个又一个的被发明。酷壳这篇文章《一个“蝇量级” C 语言协程库》说.....
分类:
其他好文 时间:
2014-08-22 12:14:56
阅读次数:
292