lua
文章平均质量分 81
Adam040606
这个作者很懒,什么都没留下…
展开
-
Lua中的异常处理pcall、xpcall、debug使用实例
转自:http://www.jb51.net/article/55522.htm如果需要在Lua中处理错误,必须使用函数pcall(protected call)来包装需要执行的代码。pcall接收一个函数和要传递个后者的参数,并执行,执行结果:有错误、无错误;返回值true或者或false, errorinfo复制代码代码如下: if pcall(转载 2016-08-27 23:06:45 · 1444 阅读 · 0 评论 -
服务器底层框架及 RPC
转自:http://blog.codingnow.com/2012/01/dev_note_7.html很久没有写工作笔记了,如果不在这里写,我连写周报的习惯都没有。所以太长时间不写就会忘记到底做了些啥了。这半个多月其实做了不少工作,回想起来又因为太琐碎记不太清。干脆最近这几天完成的这部分工作来写写吧。我在 开发笔记 第四篇谈到了 agent 的处理流程。但实际操作下来转载 2016-08-26 15:44:34 · 1042 阅读 · 0 评论 -
Lua Metatables Tutorial
转自:http://nova-fusion.com/2011/06/30/lua-metatables-tutorial/In this tutorial I'll be covering a very important concept in Lua: metatables. Knowledge of how to use metatables will allow you转载 2016-12-07 19:50:43 · 412 阅读 · 0 评论 -
Lua 与C/C++ 交互系列:注册枚举enum到Lua Code中
转自:http://blog.csdn.net/sunning9001/article/details/46659163在Lua Code中注册C/C++的枚举非常容易,就像注册全局变量一样。我们使用枚举名称作为命名空间,来避免注册的枚举发生冲突。注册的枚举存储在全局环境(线程环境)中。当在Lua Code中访问枚举时,通过名称来访问对应的值。sample_转载 2017-02-18 20:45:07 · 1302 阅读 · 0 评论 -
Light User Data
转自:http://lua-users.org/wiki/LightUserDataLight userdata, like heavy userdata, are a form of userdata, which is one of the basic data types in Lua [1]. Light userdata are characterized by the foll转载 2017-02-18 20:53:49 · 687 阅读 · 0 评论 -
luajit笔记---编译成静态库以及FFI绑定宿主程序函数
转自:http://blog.csdn.net/fg5823820/article/details/8888207本以为可以像lua一样把代码丢进去直接编译就好了,结果发现luajit有一堆汇编代码,不知道怎么处理,后来一搜索才知道luajit本身提高的批处理也可以编译成静态库,就是在后面加个static,郁闷到了。http://blog.csdn.NET/whitehack/arti转载 2017-02-12 22:26:17 · 783 阅读 · 0 评论 -
Lua FFI 实战
转自:http://blog.csdn.net/weiwangchao_/article/details/16880401[+]May 19, 2013由来FFI库,是LuaJIT中最重要的一个扩展库。它允许从纯Lua代码调用外部C函数,使用C数据结构。有了它,就不用再像Lua标准math库一样,编写Lua扩展库。把开发者从开发Lua扩展C库(语转载 2017-02-12 22:27:50 · 926 阅读 · 0 评论 -
C++对象绑定到Lua
转自:http://blog.csdn.net/kenkao/article/details/8252573游戏中的使用脚本语言已经成为了一个标准应用。脚本语言能够在游戏开发中扮演一个重要的角色,并且让数据结构化,计划事件,测试和调试这些工作更加容易。脚本语言也能够允许像美术,策划这些非程序专家通过一个高层的抽象脚本来为游戏编写代码。这个抽象层的一部分也能够允许提供给玩家来定制整个游戏转载 2017-02-22 13:59:48 · 630 阅读 · 0 评论 -
Lua中的userdata
转自:http://www.jellythink.com/archives/587话从这里说起在我发表《Lua中的类型与值》这篇文章时,就有读者给我留言了,说:你应该好好总结一下Lua中的function和userdata类型。现在是时候总结了。对于function,我在《Lua中的函数》这篇文章中进行了总结,而这篇文章将会对Lua中的userdata进行仔细的总结。对于文转载 2017-02-22 14:05:55 · 14271 阅读 · 1 评论 -
实现LUA脚本同步处理事件:LUA的coroutine
转自:http://www.cppblog.com/kevinlynx/archive/2015/05/12/58636.html需求 受WOW的影响,LUA越来越多地被应用于游戏中。脚本被用于游戏中主要用于策划编写游戏规则相关。实际运用中,我们会将很多宿主语言函数绑定到LUA脚本中,使脚本可以更多地控制程序运行。例如我们可以绑定NPCDialog之类的函数到LU转载 2016-08-26 15:42:32 · 2331 阅读 · 0 评论 -
Redis与Lua脚本
转自:http://redisbook.readthedocs.io/en/latest/feature/scripting.html#luaLua 脚本功能是 Reids 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能转载 2016-08-15 00:24:55 · 1564 阅读 · 0 评论 -
把lua的gc移到独立线程
转自:http://blog.codingnow.com/2011/04/lua_gc_multithreading.html前几天分析了 lua gc 的实现细节。这里先汇总一下:Lua GC 的源码剖析 (1)Lua GC 的源码剖析 (2)Lua GC 的源码剖析 (3)Lua GC 的源码剖析 (4)Lua GC 的源码剖析 (5)Lua GC 的源码剖析 (6)b转载 2016-08-17 23:14:37 · 800 阅读 · 0 评论 -
降低 lua gc 的开销
转自:http://blog.codingnow.com/2009/03/lua_gc.html周末有同事问我一个问题,说他们猜测在他们系统里 lua 的垃圾回收过程导致了系统开销过大。而其中有些开销是无谓的。比如在他们的系统中,有大量的结构化数据是只读的,不会和其它数据产生联系。大多为策划设定的游戏逻辑参数。而偏偏这部分数据结构复杂,在 lua 的 gc 过程中会产生大量的遍历。转载 2016-08-17 23:16:07 · 1948 阅读 · 0 评论 -
深入理解Lua的全局变量_G以及源码实现
转自:http://www.tuicool.com/articles/RVZvMbn 在Lua脚本层,Lua将所有的全局变量保存在一个常规的table中,这个table被称为全局环境,并且将这个table保存在一个全局变量_G中,也就是说在脚本中可以用_G获取这个全局table,并且有_G._G == _G,在默认情况,Lua在全局环境_G中添加了标准库比如math、函数比转载 2016-08-28 14:49:57 · 966 阅读 · 0 评论 -
lua 5.2 的 _ENV
转自:lua 5.2 正式发布了,对于 lua 语言本身的修改,重中之重就是对 environment 这个概念的修改。可以说, 5.1 以前的 environment 已经没有了。environment 对于制造一个安全的沙盒(或是实现 DSL)是一个很重要的语言特性,我以前很喜欢使用,但也很容易用错。这次的修改我认为是一个谨慎的决定,并使得 lua 语言更为精简和严谨了。我转载 2016-08-28 15:51:38 · 1198 阅读 · 1 评论 -
在Lua 5.2中保护全局环境
转自:http://blog.csdn.net/axx1611/article/details/8121740Lua脚本语言十分强大,但是有一个问题就是全局可写,比如你定义一个全局变量很容易不小心被另一个同名变量给覆盖掉。这种问题一旦出现是十分难以调查的,该文章介绍的这种机制可以解决该问题。我已经在我自己的工程中应用了该技术,它可以达到以下目的:1.转载 2016-08-28 15:59:25 · 1333 阅读 · 0 评论 -
深入理解Lua的闭包一:概念、应用和实现原理
转自:http://blog.csdn.net/maximuszhou/article/details/44280109本文首先通过具体的例子讲解了Lua中闭包的概念,然后总结了闭包的应用场合,最后探讨了Lua中闭包的实现原理。 闭包的概念 在Lua中,闭包(closure)是由一个函数和该函数会访问到的非局部变量(或者是upvalue)组成的,其中非局部变量(转载 2016-08-08 10:04:31 · 898 阅读 · 0 评论 -
Lua的多任务机制——协程(coroutine)
转自:http://blog.csdn.net/soloist/article/details/329381 并发是现实世界的本质特征,而聪明的计算机科学家用来模拟并发的技术手段便是多任务机制。大致上有这么两种多任务技术,一种是抢占式多任务(preemptive multitasking),它让操作系统来决定何时执行哪个任务。另外一种就是协作式多任务(cooperative mu转载 2016-08-10 09:39:02 · 1132 阅读 · 0 评论 -
Lua中的协同程序 coroutine
转自:http://www.cnblogs.com/sifenkesi/p/3824321.html Lua中的协程和多线程很相似,每一个协程有自己的堆栈,自己的局部变量,可以通过yield-resume实现在协程间的切换。不同之处是:Lua协程是非抢占式的多线程,必须手动在不同的协程间切换,且同一时刻只能有一个协程在运行。并且Lua中的协程无法在外部将其停止,而且有可能导致程序阻塞转载 2016-08-14 16:52:05 · 352 阅读 · 0 评论 -
Hello, JIT World: The Joy of Simple JITs
转自:http://blog.reverberate.org/2012/12/hello-jit-world-joy-of-simple-jits.htmlThis is a demonstration of how simple and enjoyable small JITs (just-in-time compilers) can be. The word “JIT” tends转载 2017-03-15 20:32:39 · 893 阅读 · 2 评论