![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua学习
文章平均质量分 81
huiming120
这个作者很懒,什么都没留下…
展开
-
Lua常用c函数分析
虽然有lua参考手册,但是为了更加清晰,自己再总结一下typedef struct lua_State lua_State/* 一个不透明的结构,它保存了整个 Lua 解释器的状态Lua 库是完全可重入的:它没有任何全局变量。(译注:从 C 语法上来说,也不尽然。例如,在 table 的实现中用了一个静态全局变量 dummynode_ ,但这在正确使用时并不影响可重入性原创 2016-08-20 16:38:22 · 473 阅读 · 0 评论 -
COCOS2D-X引擎Lua表结构分析
因为项目中现在使用lua开发,但是每次取读tolua代码是非常麻烦的,必须时时想着lua栈此时的内容,所以写一篇文章记录一下cocos中lua的表结构,当然不能把所有东西都列出来,重复的东西会用...省略--[[格式说明 :-- 说明tabAAA是一个表,tabAAA.ttt = "hello""tabAAA" = {"kkk" = "hello"}-- 说明使原创 2016-08-20 16:24:58 · 621 阅读 · 0 评论 -
lua源码剖析(一)
先来看lua中值的表示方式。 Java代码 #define TValuefields Value value; int tt typedef struct lua_TValue { TValuefields; } TValue; 其中tt表示类型,value也就是lua中对象的表示。 Java代码转载 2016-10-12 11:28:10 · 2055 阅读 · 0 评论 -
lua源码剖析(二)
先来看闭包: 可以看到闭包也是会有两种类型,这是因为在lua中,函数不过是一种特殊的闭包而已。 更新:这里CClosure表示是c函数,也就是和lua外部交互传递进来的c函数以及内部所使用的c函数. LClosure表示lua的函数,这些函数是由lua虚拟机进行管理的.. Java代码 typedef union Closure {转载 2016-10-12 11:30:04 · 507 阅读 · 0 评论 -
lua源码剖析(三)
这次简单的补充一下前面类型部分剩下的东西。 首先我们要知道当我们想为lua来编写扩展的时候,有时候可能需要一些全局变量。可是这样会有问题,这是因为这样的话,我们就无法用于多个lua状态(也就是new 多个state). 于是lua提供了三种可以代替全局变量的方法。分别是注册表,环境变量和upvalue。 其中注册表和环境变量都是table。而upvalue也就是我们前面介绍转载 2016-10-12 11:31:26 · 645 阅读 · 0 评论