关于LUA源代码分析学习教程

移动开发 iOS
关于LUA源代码分析学习教程是本文要介绍的内容,主要是来学习lua中关于源码的内容,具体内容来看本文详解。

关于LUA源代码分析学习教程是本文要介绍的内容,主要是来学习lua中关于源码的内容,具体内容来看本文详解。

原文是英文版的,利用一点时间翻译成中文的。希望bina大虾指点一二。

  1. ldebug.c - 调试接口:包含访问调试钩子的函数(lua_sethook/lua_gethook/lua_gethookcount),访问运行时堆栈信息的函数 
  2. (lua_getstatck/lua_getlocal/lua_setlocal),检查字节码函数(luaG_checkopenop /luaG_checkcode),
  3. 和抛出错误的函数(luaG_typeerror/luaG_concaterror /luaG_aritherror/luaG_ordererror/luaG_errormsg/luaG_runerror)  
  4. lzio.c -  一个通用的带缓冲区的输入流接口  
  5. lmem.c - 内存管理的接口.通过封装内存分配函数,实现了luaM_realloc / luaM_growaux_两个函数.  
  6. lgc.c -  垃圾回收器(内存管理)  
  7. lstate.c - 全局上下文. 包括打开和关闭LUA上线文的函数(lua_newstate/lua_close)和lua线程函数(luaE_newthread/luaE_freethread)  
  8. lobject.c - 一些针对Lua对象的通用函数。 包括数据类型到字符串转换函数,纯数据相等测试函数(luaO_rawequalObj),和日志基础2(luaO_log2)  
  9. lstring.c - 字符串表(保存所有由Lua操作的字符串集合)  
  10. lfunc.c - 包装原型和闭包的辅助函数  
  11. ltable.c - Lua表实现(哈希)  
  12. lcode.c - Lua的代码生成器。被lparser.c使用  
  13. llex.c - 此法分析器。被lparser.c使用  
  14. lparser.c - Lua语法检查器  
  15. lundump.c - 加载预编译后的Lua代码块,函数luaU_undump,加载一个预编译后的代码块;luaU_header(被luaU_undump使用的内部函数),用来检查函数头部。  
  16. ldump.c - 保存预编译后的Lua代码块。函数luaU_dump,使用预编译后的代码字符串展示一个函数;  
  17. lopcodes.c - Lua虚拟机的操作符。定义所有操作符的名称和信息(使用luaP_opnames和luaP_opmodes两个表保存)  
  18. lvm.c - Lua虚拟机。执行字节码(luaV_execute)。也暴漏一些lapi.c可能用到的函数(例如:luaV_concat)  
  19. ldo.c - Lua的栈和调用结构。控制函数调用(luaD_call/luaD_pcall),栈增长,协同代码的同步  
  20. ltm.c - 标记原语方法。实现对象访问原语方法(metathods)  
  21. lbaselib.c - 基础函数库  
  22. lstrlib.c - 字符串库  
  23. ltable.c - 表操作库  
  24. lmathlib.c - 数学库  
  25. loslib.c - 操作系统相关库  
  26. liolib.c - 输入输入库  
  27. loadlib.c - 模块库(实现require函数,package函数)  
  28. ldblib.c - 调试库  
  29. lapi.c - Lua的API.实现Lua C API(lua_*函数)集合  
  30. lauxlib.c - 定义所有的luaL_*函数集  
  31. linit.c - 实现luaL_openlibs方法,便于在C语言中加载上述模块  
  32. lua.c - Lua独立解释器  
  33. print.c - 定义 "PrintFunction?" 函数,用于在函数中打印字节码(被luac.c中-l参数所用)  
  34. luac.c - Lua编译器(保存字节码到一个文件,也可以列出字节码) 

The prefix of a external symbol indicates the module it comes from:

外部符号的前缀暗示他来自哪一个文件:

  1. luaA_ - lapi.c  
  2. luaB_ - lbaselib.c  
  3. luaC_ - lgc.c  
  4. luaD_ - ldo.c  
  5. luaE_ - lstate.c  
  6. luaF_ - lfunc.c  
  7. luaG_ - ldebug.c  
  8. luaH_ - ltable.c  
  9. luaI_ - lauxlib.c  
  10. luaK_ - lcode.c  
  11. luaL_ - lauxlib.c/h, linit.c (public functions)  
  12. luaM_ - lmem.c  
  13. luaO_ - lobject.c  
  14. luaP_ - lopcodes.c  
  15. luaS_ - lstring.c  
  16. luaT_ - ltm.c  
  17. luaU_ - lundump.c  
  18. luaV_ - lvm.c  
  19. luaX_ - llex.c  
  20. luaY_ - lparser.c  
  21. luaZ_ - lzio.c  
  22. lua_? - lapi.c/h + luaconf.h, debug.c  
  23. luai_ - luaconf.h  
  24. luaopen_ - luaconf.h + libraries (lbaselib.c, ldblib.c, liolib.c, lmathlib.c, loadlib.c, loslib.c, lstrlib.c, ltablib.c) 

小结:关于LUA源代码分析学习教程的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: cjbskysea
相关推荐

2011-08-24 16:24:54

Lua源代码

2011-08-25 15:41:42

Lua源码

2011-08-23 15:34:56

Lua模式 匹配

2011-08-24 14:14:13

LUA环境 配置

2011-08-24 15:34:44

MinGWLua环境配置

2011-08-23 16:37:05

Lua数学库

2011-08-24 17:09:35

LUA闭包函数

2011-08-24 11:08:09

Lua

2011-08-25 16:20:33

Lua脚本变量

2011-08-23 17:06:03

2011-08-24 13:27:07

Lua 游戏C接口脚本

2011-08-23 16:48:41

Lua 5.1API 函数

2011-08-24 16:59:59

LuaModule

2011-08-23 13:54:10

LUA全局变量

2011-08-24 17:15:33

Lua源代码文件

2011-08-23 15:57:21

Lua元表元方法

2011-08-23 13:27:46

Luaglobal变量

2011-02-23 14:54:58

FileZilla

2011-02-23 14:46:21

FileZilla

2011-02-23 14:39:27

FileZilla
点赞
收藏

51CTO技术栈公众号