lua中并不能随意yield
在调用lua的yield时,我们可能会遇到”attempt to yield across metamethod/C-call boundary”(lua5.2或5.3为”attempt to yield across a C-call boundary”)这个报错,这报错到底是
在调用lua的yield时,我们可能会遇到”attempt to yield across metamethod/C-call boundary”(lua5.2或5.3为”attempt to yield across a C-call boundary”)这个报错,这报错到底是
之前一直有朋友希望让eluna支持一下lua5.3,其实不修改的话eluna本身也是可以用在lua5.3上的,只是在整型上面的支持不友好,尤其是64位整型会丢失精度。虽然能用,但确实不友好,所以决定对eluna做一下对lua5.3的升级。 这次改动主要有两方面,一方面是升级了整型
当我们require一个lua脚本或动态库时,lua到底是如何搜索到这个文件的呢? 首先require会从package.loaded中查看这个文件是否已经加载过,如果加载过将直接返回上次加载的结果,否则将会调用依次调用4个函数去查找,知道这4个函数都无法找到就报错。 最先被调用
之前游戏上线测试没有开协议加密,受到了大量的封包攻击,导致游戏出现了很多问题,当然归根结底还是因为我们的服务器存在bug,才让这些封包攻击有机可乘。并且换个角度想想能让这些攻击者帮我们多测出一些bug也是好事。除了游戏逻辑写出了bug外,服务器对协议的过滤也没有做好,竟然让服务器
因为lua和c的内存回收管理方式不同,所以使用c+lua的结构做开发时我们可以自由选择c创建出的供lua使用的对象(我们这里说的对象都是c中分配的堆变量)到底该由lua还是c来释放。我参与的前一个项目因为历史遗留问题选择了让c来释放对象的方案,也就是写两个lua_CFunctio
最近项目上线后发现了严重的内存泄漏情况,导致地图服务器晚上因为内存泄漏过大直接宕机,为此我只好赶紧想办法来查内存泄漏的原因,省得晚上连觉都睡不好。 查lua内存泄漏比较麻烦,不像查c内存泄漏那样有valgrind这么强大的工具,只能自己想办法些东西来查。当然像我们是用的这种c+
最初写这个东西只是想深入了解一下C++和Lua的交互细节,顺便当做自己业余练练手,所以也不想把它做得很庞大,只是实现了一些我在项目中常会用到的功能。算然不想做的太庞大,但却想试着让这个库更简单,更高效些。在此目的下我花了很长的时间才写完这个简单的库,一直以自己很忙为借口不去写,非
新博客终于搞定啦!之前一直用jekyll架博客,不过jekyll美化起来对我来说有点儿复杂,弄来半天也没弄好看。后来无意中看到了hexo,试了下确实挺好用的,部署和美化都很简单,不过要依赖node.js,并且发布博客方面没有jekyll便捷,不过据说他的速度很快,所以最后还是选择