zoukankan      html  css  js  c++  java
  • Lua基础备忘

    ##数据类型
    lightuserdata 指针地址,由c管理生命周期。
    userdata 地址,交由lua的gc来控制。

    ##闭包
    #表现
    1)函数内部可以访问函数外部的变量
    2)lua文件是一个匿名函数
    #实现
    c函数以及绑定在c函数上的upvalues
    #用lua_pushcclosure来创建c闭包
    #通过lua_upvalueindex伪索引来获取上值

    ##元表
    1)只有table和userdata对象有独自的元表,其他数据类型只有类型元表。
    2)只有table可以在lua中修改设置元表。
    3)userdata只能在c中修改设置元表。

    ##虚拟栈
    1)栈上的都是lua类型的值。
    2)lua调用c的函数都得到一个新的栈。
    3)c调用lua,每一个协程都有一个栈,没有显式创建那么就是主协程上一个栈。

    ##注册表
    1)预定义的表,用来保存任何c代码想保存的lua值。
    2)使用LUA_REGISTRYINDEX来索引。
    3)用于c写的库之间共享数据。

  • 相关阅读:
    css动画特效
    http标码集合
    vue的搭建项目
    多功能
    react官方脚手架搭建项目
    深入挖掘分析Go代码
    GoLang AST简介
    GoLang中的逃逸分析简介
    使用Golang实现状态机
    GoLang中的Context
  • 原文地址:https://www.cnblogs.com/codingthings/p/15616833.html
Copyright © 2011-2022 走看看