lua的堆栈中存放的是通用变量,通用变量实际上就是一个union内存块,根据不同的类型,采用不同的组织方式,看一下通用类型的相关定义,截取了lobject.h相关代码,从代码上看,不太清楚numfield为什么会有两个相关定义。堆栈中可以根据情况分为一下几种类型:1、双精度浮点数:double d_...
分类:
其他好文 时间:
2015-01-07 00:32:16
阅读次数:
327
lua中的字符串是对象,主要分析一下对象的结构和申请的方式。TString是一个union,为了进行字节对齐,中间插入了L_Umaxalign,按照union的定义union的大小,必须是单个结构大小的整数倍,按照目前的定义,应该是double大小的整数倍。 1 /* type to ensure ...
分类:
其他好文 时间:
2014-12-28 19:25:42
阅读次数:
111
Lua在载入lua文件的时候,读取过程中通过cache的方式,默认cache为512字节:1、cache中包含数据时,直接将cache中数据返回;2、cache中不包含数据的时候,每次读取512个字节,进行cache; 1 typedef struct LoadF { 2 int n; /* ...
分类:
其他好文 时间:
2014-12-27 21:44:02
阅读次数:
158
mac从源码编译安装是最方便的,lua源码不足两万行,编译几秒钟的事。 打开terminal,依次输入以下命令: curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz tar zxf lua-5.2.3.tar.gz cd lua-5.2.3 make...
1.下载lua源码:lua-5.2.3.tar.gz,解压2.用vs2013建立一个win32工程:1)下载后解压到一个目录下,这里假设解压到F:\lua-5.2.3注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变 2)在VS2010中新建一个静态库项目,项目命名为lua a......
分类:
其他好文 时间:
2014-12-13 21:49:48
阅读次数:
250
skynet为了简化服务的编写,推出了snax框架,源码里也有一个例子pingserver。这是snax原创文章的第一篇,所以先就分析snax框架里的interface.lua源码,它的实现应用了一个闭包中的upvalue注入技巧。凡是框架都得遵循框架的约定,snax有两个大的约定,一是约定了一组预...
分类:
Web程序 时间:
2014-11-23 13:08:50
阅读次数:
656
Online Lua 5.1 source code browserRecommended reading order:lmathlib.c, lstrlib.c: get familiar with the external C API. Don't bother with the pattern...
分类:
其他好文 时间:
2014-11-12 13:18:53
阅读次数:
153
1. 从官方网站下载最新的版本http://www.lua.org/download.html2. 解压缩下载的文件是lua-5.2.3.tar.gz, 将它解压缩3. 编译打开终端,输入lua源码所在的位置, 例如:$ cd /Users/Alan/Downloads/lua-5.2.3在命令行输...
分类:
系统相关 时间:
2014-11-05 12:22:12
阅读次数:
222
进入游戏行业,开始学习lua,lua脚本语言的优势在于灵活,游戏行业应用相当广泛,因为支持动态加载,所以是必不可少的存在。可以想想,如果死守C++不放,有一个bug,莫非修正bug后重启服务器?这得浪费多少时间? 好了,废话少说,上流程。 1:下载lua源码:http://www.lua.or...
分类:
编程语言 时间:
2014-10-29 23:34:44
阅读次数:
324
用VC编译lua源码,生成lua语言的解释器和编译器1.去网址下载源码http://www.lua.org/download.html2.装一个VC++,我用的是VC6.0 3.接下来我们开始编译源码,我们需要编译:一个静态库一个动态库一个lua语言解释器一个lua编译器建立一个工静态库工程打开VC...
分类:
其他好文 时间:
2014-08-31 18:30:51
阅读次数:
349