slua 中使用 lua5.3】的更多相关文章

因为我们服务器极有可能要迁移到 skynet 上,它基于 lua5.3,而服务器和客户端会公用很多lua代码,所以在考虑在客户端 slua 中使用 lua5.3. 经过编译后,发现 slua 对 lua5.3的支持还有很多bug,可能是目前用的人比较少,最严重的一个问题是在 lua5.3 下,在 slua 中使用协程调用 Yield 会直接导致 unity 闪退,mono.dll 中出现内存非法访问,后来测试只发现是在绑定的协程的回调出问题,由于我对 lua 还不够熟悉,对这部分代码也没深入理解…
2016-03-05 更新: 之前编译的库,在 Android 下 Lua_Number 和 Lua_Integer 被编译为了32位,导致从 C# 到 Lua 过程中有64位到32位整型转换会出现溢出出错,出现异常大的负整数. 以下修改或是之前遗漏的部分均使用红色表示. 2016-11-21 更新: 之前编译的库都是用的是 32位的 NDK(当时vs2015还不支持最新的64位ndk),如果你是用64位的 NDK 编译请注意兼容性问题:其二请注意安卓打包的库目录问题,安卓库 "libs&quo…
上一篇记录了我使用 Slua.Class 来实现面向对象扩展 C# 中得类,但实际使用中,更多地情况是直接在 lua 中定义基类然后扩展,于是触发了我重新思考下是否两种形式应该统一用一种,目前的方案中,有一个不好的地方是,每一个派生类的实例,其实内部会有多个实例(每一个继承的类都有个对应的实例,参考 __call 的调用),所以继承层次越深,内部的实例越多,而这些父类的实例仅仅是提供了属性和方法而已,没有其它作用,这其实造成了一种浪费,但如果改动的话,我想整个结构和基础都得该,影响了本身 slu…
由于目前要把大量的代码移植到 lua 中(真是够虐心的),面向对象肯定少不了,项目的代码都是这么设计的,于是就测试 Slua.Class 接口来扩展 C# 的类,发现有点问题,给作者提交了一个 Issue 和 一个 Pull Request,作者也很快确认并 Merge 了. 问题是这样:当使用 Slua.Class 继承出来的类,实例化出来的所有实例都指向了最后一个实例,导致访问属性都是一样的.比如使用 main.txt 中得一段代码修改测试: -- test inherite class ,…
lua有一个工具lua-releng( https://github.com/openresty/openresty-devel-utils/blob/master/lua-releng) 用来检测代码中的所有全局变量.在macos系统,通过brew install lua 命令安装的lua, lua的版本号是5.2.4,但是lua-releng仅支持lua5.1版本,所以要将本地的lua替换成5.1的版本. 安装步骤: 下载源码: http://www.lua.org/versions.htm…
注:以下是基于 别人的教程或笔记来操作并按照自己的操作记录的纯文字版编译和hello lua过程. 原图文版链接: 原文链接 1.创建空的解决方案: 文件->新建->项目->其他项目类型->Visual Studio解决方案->空白解决方案 名称:lua53 位置:.. 接下来在这个解决方案中创建3个项目:分别为Luz_lib.Lua和Luac Lua和Luac项目中会生成最终我们需要的执行文件.Lua_lib会生成静态库文件, Lua和Luac项目的编译需要这个库文件.所以…
slua本身并不提供如何把一个lua文件绑定到一个预制中,就像一个普通的继承自monobehavior的自定义脚本那样,而tolua的框架却采用了拙劣的做法: public class LuaBehaviour : Base { private string data = null; private AssetBundle bundle = null; private Dictionary<string, LuaFunction> buttons = new Dictionary<str…
1.原理 就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数. 2.作用 在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都差不多.这里,我拿slua举例. 3.实际运用 举例:如何在Slua中打印Log 原理:其实是slua通过调用C#中的Debug.Log方法实现的打印,并不是说是lua中的打印方法起到作用. 步骤: 首先,既然是Lua调用C#中的方法,这里自定义写一个打印log的方法. public clas…
参考文章:1) http://www.oschina.net/question/12_769552) http://rudamoura.com/luaonmacosx.html 最近在为iOS开发游戏,我的开发机是iPhone5.在开发的游戏项目中需要使用Lua语言,所以想在我的苹果MacBook Pro 中安装Lua语言的解释器,以便进行脚本调试.我的Mac OS X的版本是10.8.3.Lua 是一个轻量级的脚本语言,在游戏开发上使用非常多.它是开源的.我们可以下载它的源码进行编译. 到本文…
1. 给你的eclipse安装LuaEclipse,新增Eclipse Software Update Site“http://luaeclipse.luaforge.net/update-site ”. 2. 下载LuaBinaries,网址“http://luabinaries.sourceforge.net/”.例如下载“lua5_1_4_Win32_bin.zip ”. 3. 解压缩“lua5_1_4_Win32_bin.zip ”. 4. 在eclipse中设置LUA脚本解释器,就是刚…