摘要: 转载出处:http://my.oschina.net/xhan/blog/309154Lua1.1 是官方公开发布的第一版,是事实上的第一版 ,也是最早发布的一版。代码从这里 www.lua.org/ftp/lua-1.1.tar.gz 下载,事实上在 www.lua.org/versions.ht... 阅读全文
posted @ 2015-11-04 16:01 vd01 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/308562Lua1.0 代码分析 库 库的代码相对比较简单。这里以数学库为例进行说明。 比如看下这个取绝对值的数学函数?123456789101112staticvoidmath_abs(void){doubled;lua_... 阅读全文
posted @ 2015-11-04 11:27 vd01 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/308557opcode.c 代码分析 Lua1.0 虚拟机的实现,语法分析中生成的字节码交给它 lua_execute 来执行。这个文件的主要部分就是 lua_execute 函数,而它就是很大的 switch case,L... 阅读全文
posted @ 2015-11-04 11:22 vd01 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/308325hash.c 代码分析Lua 中最重要的一个数据结构及相关操作。主要看下几个对外的接口。?123456789101112131415161718192021/***Createanewhash.Returntheh... 阅读全文
posted @ 2015-11-04 09:30 vd01 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/307961table.c 代码分析全局符号,常量,字符串,关联数组,文件列表的定义。全局符号: 初始有 5 个基本的符号,Lua 预设的函数和库函数都注册在里面。常量: 初始的几个常量是 Lua 中 type 的名字。字符串... 阅读全文
posted @ 2015-11-03 21:11 vd01 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/307797inout.c 代码分析主要看下对于文件的处理?1234567891011121314/***Functiontoopenafiletobeinputunit.**Return0onsuccessor1onerro... 阅读全文
posted @ 2015-11-03 20:16 vd01 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/307171先来看一下 Lua 中常用的几个数据结构:先看一下 opcode.h 中的:Type 枚举是 Lua 中的几种数据类型。 1 typedef enum 2 { 3 T_MARK, 4 T_NIL, 5 T_N... 阅读全文
posted @ 2015-11-02 20:57 vd01 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/306719从 lua.c 的 main 函数开始,看看在代码执行过程中中发生了什么?12345if(argc=MAXSTACK-1){lua_error("stackoverflow");return1;}tag(top)=... 阅读全文
posted @ 2015-11-02 20:35 vd01 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/306308源文件简介:floatingpoint.h 空文件,没什么用。hash.h 最大的结构的保存位置,Lua 中需要内存回收的都放在它里面,比如 string 和 关联数组。inout.h 从文件名可以看出是输入输出,... 阅读全文
posted @ 2015-11-02 20:33 vd01 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 转载出处:http://my.oschina.net/xhan/blog/305949先来个 hello, world! 看看解释器是否能正常工作:print("hello, world") 可以正常输出,说明解释器能正常干活。再看看几个官方自带的测试文件是干什么的:array.lua$debuga... 阅读全文
posted @ 2015-11-02 20:32 vd01 阅读(305) 评论(0) 推荐(0) 编辑