lua有GC,细节无需太关注,知道些基本的就行,能local就一定不要global;
还有在数组里的对象,除非显式=nil,否则很难回收;
不过可以用弱引用表来告诉GC。外部引用为0,就不要管我,请del it。
weak table是通过元表实现,元表里的__mode字段包含k或者v;k表示key为弱引用;v表示value为弱引用。
1、首先看一个普通的例子:
a = {}
ke...
分类:
其他好文 时间:
2014-06-16 11:57:59
阅读次数:
306
一个大胆的尝试:使用巨型lua协程来表示整个“一局”流程。lua协程是一个很另类的功能,有并发的影子但又不是真的并发,所以真正拿它来做大功能框架的范例不多,通常用于一些小型trick式设计。但这次我在大富翁里把它用到了“极致”:整个一局游戏,就是全部跑在一个协程里的!简单的说:在开始按钮的点击响应函...
分类:
其他好文 时间:
2014-06-15 21:23:59
阅读次数:
264
现在人人都想成为安卓/IOS应用开发工程师。其实,安卓/IOS应用可以用很多种语言来实现。由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了。所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具。在文章的末尾,也介绍了使用JAVA、C#、Lua...
分类:
移动开发 时间:
2014-06-15 07:03:41
阅读次数:
293
1. 顶层(crtmpserver/) 下的文件夹结构3rdparty/ : 对lua, xml进行解析的源代码文件夹sources/ : 项目的核心实现源代码文件夹builders/ : 各种环境(VS2010, android, linux)下的项目生成con...
分类:
其他好文 时间:
2014-06-14 23:33:00
阅读次数:
383
Notepad++
是一个开源的文本编辑器,功能强大而且使用方便,一般情况下,Notepad++作为代码查看器,很方便,但是每次要运行的时候,总是需要用右键打开其他的IDE来编译和运行,总有些不方便。特别是像lua这种语言,在Eclipse中无法集成,因此运行的时候,总是不方便。我搜到了一个使用No...
分类:
编程语言 时间:
2014-06-12 18:23:52
阅读次数:
440
----本文摘自programming in lua
当一个函数内部嵌套另一个函数定义时,内部的函数体可以访问外部的函数的局部变量,这种特征我们称作词法定界。虽然这看起来很清楚,事实并非如此,词法定界加上第一类函数在编程语言里是一个功能强大的概念,很少语言提供这种支持。
下面看一个简单的例子,假定有一个学生姓名的列表和一个学生名和成绩对应的表,现在想根据学生的成绩从高到低对学生...
分类:
其他好文 时间:
2014-06-10 18:37:56
阅读次数:
169
最近在研究protobuf在项目中的使用,由于我们项目服务端采用的是C++,客户端是cocos2dx-cpp,客户端与服务端的消息传输是直接对象的二进制流。如果客户端一直用C++来写,问题到不大,但是后期有想法将客户端用lua来写(可以实现苹果平台的新增更新),这个时候问题就出现了(传输的消息定.....
分类:
其他好文 时间:
2014-06-10 16:36:21
阅读次数:
496
首先下载lua源码包,然后分别是make,make linux,make
install注意如果没有make
install,那么在#include时,会报找不到lua.h文件的错误。网上找到一段源码:func.lua--变量定义width=1;height=2;--lua函数定义,实现加法func...
分类:
编程语言 时间:
2014-06-10 16:19:01
阅读次数:
323
最近在看Luatinker的源代码,打算自己改(仿写)写搞一个简单的封装C++和LUA的结合的库,结果发现其实麻烦和困惑比想象的多。比如这些点:1)有时候使用模板的时候,引用会退化。classtype
&,经过模板参数后,会退化为class type,这个在LuaTinker的实现里面就有问题,你会...
分类:
编程语言 时间:
2014-06-10 10:38:26
阅读次数:
274