lua
interhanchi
这个作者很懒,什么都没留下…
展开
-
lua源码剖析(一)
先来看lua中值的表示方式。 [code="java"]#define TValuefields Value value; int tt typedef struct lua_TValue { TValuefields; } TValue;[/code] 其中tt表示类型,value也就是lua中对象的表示。 [code="java"]typedef union { ...2009-11-15 21:38:46 · 301 阅读 · 0 评论 -
lua源码剖析(二)
这次紧接着上次的,将gc类型的数据分析完毕。 谢谢[url=http://www.zhuzhaoyuan.com]老朱[/url]同学的指正,这里CClosure和LClosure理解有误. 先来看闭包: 可以看到闭包也是会有两种类型,这是因为在lua中,函数不过是一种特殊的闭包而已。 [color=red]更新:这里CClosure表示是c函数,也就是和lua外部...2009-12-04 00:22:33 · 288 阅读 · 0 评论 -
lua源码剖析(三)
这次简单的补充一下前面类型部分剩下的东西。 首先我们要知道当我们想为lua来编写扩展的时候,有时候可能需要一些全局变量。可是这样会有问题,这是因为这样的话,我们就无法用于多个lua状态(也就是new 多个state). 于是lua提供了三种可以代替全局变量的方法。分别是注册表,环境变量和upvalue。 其中注册表和环境变量都是table。而upvalue也就是我们前面介绍的用来...2009-12-20 17:35:54 · 295 阅读 · 0 评论