Lua源码分析——C文件说明

来源:互联网 发布:刘德华谁人知国语版 编辑:程序博客网 时间:2024/06/15 20:59

ldebug.c - 调试接口:包含访问调试钩子的函数(lua_sethook/lua_gethook/lua_gethookcount),访问运行时堆栈信息的函数

    (lua_getstatck/lua_getlocal/lua_setlocal),检查字节码函数(luaG_checkopenop/luaG_checkcode),

    和抛出错误的函数(luaG_typeerror/luaG_concaterror/luaG_aritherror/luaG_ordererror/luaG_errormsg/luaG_runerror) 

lzio.c - 一个通用的带缓冲区的输入流接口 

lmem.c - 内存管理的接口.通过封装内存分配函数,实现了luaM_realloc/ luaM_growaux_两个函数. 

lgc.c - 垃圾回收器(内存管理) 

lstate.c - 全局上下文. 包括打开和关闭LUA上线文的函数(lua_newstate/lua_close)和lua线程函数(luaE_newthread/luaE_freethread) 

lobject.c - 一些针对Lua对象的通用函数。 包括数据类型到字符串转换函数,纯数据相等测试函数(luaO_rawequalObj),和日志基础2(luaO_log2) 

lstring.c - 字符串表(保存所有由Lua操作的字符串集合) 

lfunc.c - 包装原型和闭包的辅助函数 

ltable.c - Lua表实现(哈希) 

lcode.c - Lua的代码生成器。被lparser.c使用 

llex.c - 此法分析器。被lparser.c使用 

lparser.c - Lua语法检查器 

lundump.c - 加载预编译后的Lua代码块,函数luaU_undump,加载一个预编译后的代码块;luaU_header(被luaU_undump使用的内部函数),用来检查函数头部。 

ldump.c - 保存预编译后的Lua代码块。函数luaU_dump,使用预编译后的代码字符串展示一个函数; 

lopcodes.c - Lua虚拟机的操作符。定义所有操作符的名称和信息(使用luaP_opnames和luaP_opmodes两个表保存) 

lvm.c - Lua虚拟机。执行字节码(luaV_execute)。也暴漏一些lapi.c可能用到的函数(例如:luaV_concat) 

ldo.c - Lua的栈和调用结构。控制函数调用(luaD_call/luaD_pcall),栈增长,协同代码的同步 

ltm.c - 标记原语方法。实现对象访问原语方法(metathods) 

lbaselib.c - 基础函数库 

lstrlib.c - 字符串库 

ltable.c - 表操作库 

lmathlib.c - 数学库 

loslib.c - 操作系统相关库 

liolib.c - 输入输入库 

loadlib.c - 模块库(实现require函数,package函数) 

ldblib.c - 调试库 

lapi.c - Lua的API.实现Lua CAPI(lua_*函数)集合 

lauxlib.c - 定义所有的luaL_*函数集 

linit.c - 实现luaL_openlibs方法,便于在C语言中加载上述模块 

lua.c - Lua独立解释器 

print.c - 定义"PrintFunction?" 函数,用于在函数中打印字节码(被luac.c中-l参数所用) 

luac.c - Lua编译器(保存字节码到一个文件,也可以列出字节码)

The prefix of a external symbol indicatesthe module it comes from:

 

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

 

luaA_ - lapi.c 

luaB_ - lbaselib.c 

luaC_ - lgc.c 

luaD_ - ldo.c 

luaE_ - lstate.c 

luaF_ - lfunc.c 

luaG_ - ldebug.c 

luaH_ - ltable.c 

luaI_ - lauxlib.c 

luaK_ - lcode.c 

luaL_ - lauxlib.c/h, linit.c (publicfunctions) 

luaM_ - lmem.c 

luaO_ - lobject.c 

luaP_ - lopcodes.c 

luaS_ - lstring.c 

luaT_ - ltm.c 

luaU_ - lundump.c 

luaV_ - lvm.c 

luaX_ - llex.c 

luaY_ - lparser.c 

luaZ_ - lzio.c 

lua_? - lapi.c/h + luaconf.h, debug.c 

luai_ - luaconf.h 

luaopen_ - luaconf.h + libraries(lbaselib.c, ldblib.c, liolib.c, lmathlib.c, loadlib.c, loslib.c, lstrlib.c,ltablib.c)

 

 

转载出自:http://mobile.51cto.com/iphone-286254.htm

0 0
原创粉丝点击