zoukankan      html  css  js  c++  java
  • lua杂项

    X. 数组里面的元素可以是函数

    Q: lua_pushliteral和lua_pushstring有何区别?

    A: 通常在push字符串字面值时使用lua_pushliteral,在push字符串指针是使用lua_pushstring。   

    原因是前者通过sizeof(字符串字面值)/sizeof(char)计算长度,而后者通过strlen计算长度。   

    因此前者只能push字符串字面值,但速度比后者快。而后者既可push字符串字面值,也可push字符串指针。

    Q: luaL_loadfile, luaL_loadstring, luaL_loadbuffer的区别?

    A: luaL_loadfile把文件内容作为chunk,并在内部调用lua_load    

    luaL_loadstring把字符串栈转为buffer调用luaL_loadbuffer   

    luaL_loadbuffer把buffer的内容作为chunk,并在内部调用lua_load   

    lua_load则将chunk作为lua function压栈,并具有自动分析chunk是二进制(luac)还是普通文本的能力

    Q: lua_pcall, lua_resume的区别?

    A: lua_resume只可以用在coroutine中,当coroutine没有任何yield时,lua_resume可以用lua_pcall代替

     

    不要经常使用临时table座位参数给lua 函数,这样会增加gc

     

     

  • 相关阅读:
    【51nod 1331】狭窄的通道
    【noip 2016】提高组
    【noip 2016】普及组
    【bzoj 4764】弹飞大爷
    线筛
    高斯消元
    网络流
    平衡二叉树 treap

    双向广搜
  • 原文地址:https://www.cnblogs.com/ghost240/p/3008912.html
Copyright © 2011-2022 走看看