【lua学习】1.源码组织
- 虚拟机核心相关文件列表
- 内嵌库相关文件
- 解释器,字节码编译器相关的文件
做cocos2d-x lua已经有一段时间了,想更深入了解lua。我会出一系列地 自身学习过程中地解读。
我会带大家沿着源码来逐步解读lua,我喜欢按照 深度优先遍历的顺序来解读源码,对于Lua源码中命名不好或者晦涩难懂的地方,我都会在写的时候加以 适当地修改,若有错误或者依然不清晰,欢迎评论区指正。很多思路和解释,我都 会在代码编辑区写上注释,所以务必不要忽略。
虚拟机核心相关文件列表
文件名 | 作用 | 对外接口前缀 |
---|---|---|
lapi.c | C语言接口 | lua_ |
lcode.c | 源码生成器 | luaK_ |
ldebug.c | 调试库 | luaG_ |
ldo.c | 函数调用及栈管理 | luaD_ |
ldump.c | 序列化预编译的lua字节码 | luaU_ |
lfunc.c | 提供操作函数原型及闭包的辅助函数 | luaF_ |
lgc.c | GC | luaC_ |
llex.c | 词法分析 | luaX_ |
lmem.c | 内存管理 | luaM_ |
lobject.c | 对象管理 | luaO_ |
lopcodes.c | 字节码操作 | luaP_ |
lparser.c | 分析器 | luaY_ |
lstate.c | 全局状态机 | luaE_ |
lstring.c | 字符串操作 | luaS_ |
ltable.c | 表操作 | luaH_ |
lundump.c | 加载预编译字节码 | luaU_ |
ltm.c | tag方法 | luaT_ |
lzio.c | 缓存流接口 | luaZ_ |
lbaselib.c | 基础库接口 | luaB_ |
内嵌库相关文件
文件名 | 作用 |
---|---|
lauxlib.c | 库编写时需要涌到的辅助函数库 |
lbaselib.c | 基础库 |
ldblib.c | 调试库 |
liolib.c | IO库 |
lmathlib.c | 数学库 |
loslib.c | OS库 |
ltablib.c | 表操作库 |
lstrlib.c | 字符串操作库 |
loadlib.c | 动态扩展库加载器 |
linit.c | 负责内嵌库的初始化 |
解释器,字节码编译器相关的文件
文件名 | 作用 |
---|---|
lua.c | 解释器 |
luac.c | 字节码编译器 |
【lua学习】1.源码组织相关推荐
- 小姐姐笔记:我是如何学习简单源码拓展视野的
大家好,我是若川.这是我上周组织的源码共读纪年小姐姐的笔记,写得很好.所以分享给大家.欢迎加我微信 ruochuan12,进源码共读群.其他更多人的笔记可以阅读原文查看. 川哥的源码解读文章:据说 9 ...
- java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档
java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计智友少儿编程学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构 ...
- 学习hutool源码TreeUtil.build()得到了什么
目录 概述 考虑的问题 hutool具体实现 1.下面是hutool管网提供的安例. 2.TreeUtil.build()做了什么 3.build()方法 4.innerBuild()方法 学到了 ...
- java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档
java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 java计算机毕业设计中国古诗词学习平台源码+mysql数据库+系统+部署+lw文档 本源码技术栈: 项目架构:B ...
- 学习 koa 源码的整体架构,浅析koa洋葱模型原理和co原理
前言 这是学习源码整体架构系列第七篇.整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现.本篇文章学习的是实际仓库的代码. 学习源码整体 ...
- 学习 axios 源码整体架构,打造属于自己的请求库
前言 这是学习源码整体架构系列第六篇.整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现.本篇文章学习的是实际仓库的代码. 学习源码整体 ...
- 基于Java毕业设计在线学习系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计在线学习系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计在线学习系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- vue filter对象_学习vue源码(3) 手写Vue.directive、Vue.filter、Vue.component方法
一.Vue.directive Vue.directive(id,[definition]); 1)参数 { string } id{ Function | Object } [ definition ...
- 我该如何学习spring源码以及解析bean定义的注册
如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...
- TLD(Tracking-Learning-Detection)学习与源码理解之(六)
TLD(Tracking-Learning-Detection)学习与源码理解之(六) zouxy09@qq.com http://blog.csdn.net/zouxy09 下面是自己在看论文和这些 ...
最新文章
- Linux下的Shell编程(2)环境变量和局部变量
- Java7 java.util.concurrent 并发包计划
- linux编程技术进程代码,Linux进程通信—信号量 代码实现
- 一天搞定CSS: 浮动(float)与inline-block的区别--11
- IIS Express介绍与使用
- jmeter接口测试
- 随心测试_Python Se_007下拉列表操作2
- 花几千块钱,线上培训软件测试有用吗?
- 梯度消失和梯度爆炸原因及其解决方案
- 花瓣网 html,css+html如何仿花瓣网实现静态登陆页面?(代码实
- 征信系统如何保障信息主体的合法权益?
- 云计算技术 - 基础环境搭建
- MFC--按键、按钮按下和弹起事件检测
- springboot+vue+element-ui下载excel模板(静态文件)
- Funfile免费下载教程,还支持迅雷哦!!!
- 虚拟机中 win10 和 Win11 Edge和Chrome 浏览器中设置与快捷菜单字体模糊问题
- Marvell 88e6131路由器芯片学习笔记
- 网页UI设计基础之线框图设计(栅格建立、基础布局、分屏、文字排版)
- 驴途网--技术小结2
- 如何设计一个报表引擎
热门文章
- linux cuda更改安装路径,Linux(Ubuntu18.04)NVIDIA显卡驱动安装和cuda安装
- 交易猫转转闲鱼跳转源码+完整版教程
- 类模板分文件编写:错误 LNK2019 无法解析的外部符号 “public: __cdecl Person
- 北京建工携手法大大,电子签名赋能智能绿色建筑
- huge c语言,C语言大项目 · GrandPaLee/C语言大项目 - Gitee.com
- c语言 iconv函数,libiconv的介绍
- IDEA创建一个structs项目
- 百趣生物技术介绍 | iTRAQ/TMT标记定量蛋白质组研究
- 交易员学堂第一课 我们倒卖风险
- 利用TeamViewer实现唤醒远程电脑一例方法