• lua 源码阅读 5.3.5 笔记


     记录下吧,断断续续读了几周,收益还是很多的。

    推荐阅读顺序:

    1) 基础数据类型

      lstring.c ltable.c lobject.c lfunc.c lstate.c

    2)  标准库(这个相对简单)

      lbasiclib.c lstrlib.c ltablib.c lmathlib.c loslib.c liolib.c loadlib.c lcorolib.c

    3)  lua 核心

      ltm.c  ldo.c lvm.c lopcodes.c 

      这个有点难理解, 多读几遍,每次总会有收获的。我是从 lua 的低版本看上来的,很多实现都变了,比如 ltm.c 的最早实现就是一个二维数据, lopcodes.c 早期没有像现在这样会根据虚拟指令进行二级分发,ldo 的变动就比较大,早期的就是调 lua 的虚拟指令,c 的入口地址,现在的加了 coroutine 等。

    4) lua 的周边 api

      lapi.c lauxlib.c linit.c lua.c print.c luac.c 

      这些相对比较简单

    5)  lua 的一些基础辅助模块

      lgc.c  lmem.c lzio.c ldebug.c 

    6)  解析相关

      这块我没看 5.3.5的,早期的版本简单的扫了下,有点烦人,一堆状态,词法解析生成虚拟指令和数据栈,大概就是这些内容。

     

      记录下感受,像是一个大的宝藏,你能拿走多少要靠自己能理解多少。说在再多,不如读一次源码。 talk is cheap, show me the code.

      接下来打算细读下 lua 参考 文档,还有 云大 的 skynet .

    文档:lua 5.3.note
    链接:http://note.youdao.com/noteshare?id=e75f2653ae3365d1eb534498b302ec63

  • 相关阅读:
    CI 搭建CMS框架
    java 对象
    JAVA 数组,(java核心技术 卷1)
    Android 点击事件,4种回调。
    andriod 中设置sdk升级代理服务器
    CI 自动操作日志
    CI 笔记 datagrid的调用,不支持多页面多次调用js
    CI 笔记 easyui 结合后,左侧导航跳转问题
    CI 笔记 数据库
    mysql索引提高查询速度
  • 原文地址:https://www.cnblogs.com/ashen/p/11806532.html
Copyright © 2020-2023  润新知