slua 中使用 lua5.3

摘要:
因为我们的服务器可能会迁移到基于lua5.3的skynet,并且服务器和客户端将共享大量lua代码,所以我们正在考虑在客户端sloa中使用lua5.3。在我用新版本的lua编译了lua5.3之后,它确实运行得很好。我在下一个lua版本中继续改进了lua5.3和luajit 2.0/2.1之间的测试比较:目前还没有编译任何Android lua库,所以我有时间稍后补充。最近,人们以各种方式表示,lua非常简单。真的这么简单吗?在github上,我分叉了sla,并尝试慢慢参与,并推动请求逐步加深理解和学习。

   因为我们服务器极有可能要迁移到 skynet 上,它基于 lua5.3,而服务器和客户端会公用很多lua代码,所以在考虑在客户端 slua 中使用 lua5.3。

 经过编译后,发现 slua 对 lua5.3的支持还有很多bug,可能是目前用的人比较少,最严重的一个问题是在 lua5.3 下,在 slua 中使用协程调用 Yield 会直接导致 unity 闪退,mono.dll 中出现内存非法访问,后来测试只发现是在绑定的协程的回调出问题,由于我对 lua 还不够熟悉,对这部分代码也没深入理解,没查到具体原因,就给作者提交了个 issue,作者很快就改好了,我也在根据代码分析原因中。

 我使用新版 slua 编译了 lua5.3 后,确实都能正常工作了,我继续完善了下 slua 中对于 lua5.3 和 luajit2.0/2.1 的测试对比(测试工程都是 slua 自带的):

slua 中使用 lua5.3第1张

 目前没有编译安卓 slua 库,后面有时间再补上。

 另一个很有意思的问题是:il2cpp 模式下帧速率普遍下降(release 编译),还不知道是 slua 如此,还是所有的工程都如此,有待测试。

 最近在各种恶补 lua,都说 lua 很简单,真的有这么简单吗?我不这么认为,如果简单写下配置可能真是,但现在很多代码都要以 lua 来编写和结构设计,恐怕要考虑和学习的东西真的很多。

 在 github 上 fork 了 slua,尝试慢慢参与并 push request,来逐步加深理解和学习。

 

免责声明:文章转载自《slua 中使用 lua5.3》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇react-native环境搭建ESXI 迁移至KVM (V2V迁移)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

设置ubuntu默认输入python进入python3

执行下面两条命令 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 如果要切换回来,执行下...

[GXYCTF2019]BabysqliV3.0题解

[GXYCTF2019]BabysqliV3.0 常规分析 题目叫babysqli,刚访问的时候会有一个登录页面,于是我用测了测sql注入,毫无收获。 最后发现是弱口令,账号admin,密码password。 登录进去以后是这样的: url末尾是file=的形式,怀疑是文件包含,并且自动在xxx后面加.php。 将file=后面的参数改为php://fi...

Scala初入

何为Scala物   Scala为基于JVM虚拟机中的面向对象与函数式编程思想并且完全兼容Java的混合编程语言,可以是Scala与Java是同根同源的,既然Scala与JAVA都是基于JVM之上的编程语言那么Scala的特色又在哪呢 Scala最大的特色就是他是支持函数式编程的,函数式编程风格使得Scala语法远比Java简洁、优雅、易读懂得多,又因为S...

redis 在 php 中的应用(key篇)

本文为我阅读了redis参考手册之后结合博友的博客编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: KEY(键) DEL EXISTS EXPIRE EXPIREAT keys MOVE PERSIST TTL RANDOMKEY RENAME RENAMENX TYPE SORT KEY(...

适合练手的 14 个Python 小项目,趣味十足!

掌握一门技术,迅速提升能力,最好方法是通过实践项目,最好是完整且有趣的。分享一本,我认为非常不错的书籍,《Python Playground》,这本书每个章节就是一个完整的小项目。 ​​​ 第一章分析了 iTunes 的播放列表,是一个入门级的项目。学完一遍后,你会掌握如何去重,如何读取文件,如何开展一些基本的统计学分析,基本的绘图技能。此书最大特点,每个...

Python引用模块和查找模块路径

模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语言,比如C#中的一个.cs文件,Java中的一个.java或者编译后的.class文件可以认为是一个模块(但常常不表述为模块);对于解释型的语言会更加直观些,比如PHP的....