cbbbc

博客博客

lua环境的配置以及c++调用lua的简单例子

虽然上年暑假的时候,我看完了《lua程序设计》,那时候主要是把主要概念背熟,还有把几个面试要问的问题弄明白了,但实际上却很少写代码,写的lua代码可能都不超过1000行,哎,怪不得,才半年多,几乎所有东西都忘光了!     好吧,那现在就重新学一遍吧!这次就重在实践!而且那时候都是在VS2010上...

2015-04-15 00:12:28

阅读数 3701

评论数 0

Lua 调试(Debug)

Lua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代码。 Lua 中 debug 库包含以下函数: sethook ([thread,] hook, mask [, count]): 序号 ...

2017-01-03 16:55:53

阅读数 596

评论数 0

Lua非常有用的工具——递归打印表数据

摘要: 展示了Lua库table_lib.lua源码,并说明如何使用。 Lua是一种非常小巧的语言。虽小,但五脏俱全。 在Lua中,我认为最最核心的数据结构就是表。表不仅可用作数组,还可以用作字典。Lua面向对象的实现也是用表实现的。 表对于Lua实在是太重要了!所以,在开发与调试...

2016-12-29 17:32:59

阅读数 568

评论数 0

Lua脚本语言中字符匹配模式详解

你还可以在模式串中使用字符类。字符类指可以匹配一个特定字符集合内任何字符的模式项。比如,字符类 %d匹配任意数字. 所以你可以使用模式串'%d%d/%d%d/%d%d%d%d'搜索dd/mm/yyyy 格式的日期:     s = "Deadline is 30/05/1999,f...

2016-09-20 19:59:25

阅读数 980

评论数 0

lua的table排序

实例:(原理就是LUA集成的冒泡算法) --排序的算法 function comps(a,b) return a.id end --应用 table.sort(table_name,comps); table_name 已经被修改 一、数值数组排序(字符串跟数值混在一起的数组...

2016-07-30 12:28:04

阅读数 335

评论数 0

lua and or not 逻辑运算符

and or not 逻辑运算符认为false 和nil 是假(false),其他为真,0 也是true. and 和or 的运算结果不是true 和false,而是和它的两个操作数相关。 注:下面的和其他语法有区别 a and b -- 如果a 为false,则返回a,否则返回b a ...

2016-06-22 15:14:43

阅读数 354

评论数 0

Lua垃圾回收

Lua 通过特定算法的垃圾回收机制实现自动内存管理。由于自动内存管理机制的存在,作为程序开发人员: 不需要关心对象的内存分配问题。不再使用对象时,除了将引用它的变量设为 nil,不需要主动释放对象。 Lua 的垃圾回收器会不断运行去收集不再被 Lua 程序访问的对象。 所有的对象,包括表...

2016-03-24 11:03:20

阅读数 1070

评论数 0

Dorothy Lua开发建议

1.禁用全局变量 可以在zbstudio中使用Analyze(Shift+F7)功能检查全局变量的使用。但是可以通过模块做数据的共享,但是只能共享基本数据类型包括string, number, boolean, table, 没有俘获userdata类型变量的function等,共享的table...

2016-03-23 15:36:37

阅读数 347

评论数 0

基于 lua 的热更新系统设计要点

很久没写 blog 了,主要是忙。项目排的很紧,一个小项目上线,发现不少问题,所以把多余精力都投进去了。最后人手不够,亲自上场写代码。在不动大体的情况下,最大能力的修改了一些设计,并把能重写的代码重新写过了。 这一周,写了三天半程序(其中通宵了一次)。平均每天写了千多行程序。基本上把原来项目里用...

2016-03-23 11:31:49

阅读数 677

评论数 0

Lua 中使用面向对象(续)--newproxy生成userdata使用__gc

上一篇文章给了一个面向对象的方案,美中不足的是没有析构函数 Destructor,那么这一次就给它加上。   既然是析构,那么就是在对象被销毁之前做该做的事情,lua 5.1 的 userdata 可以给其 metatable 增加一个 __gc 域,指定一个函数,将会在被回收时调用,这个 __...

2016-03-22 23:34:13

阅读数 534

评论数 0

lua gc 优化方案

此文章至少适合lua5.1 在我的项目中,变量增减多了,就会在某轮lua gc中可能会大量调用alloc函数(特别指free,可以高达8万次当发生gc的时候,这将占用几十、几百毫秒的时间) 造成cpu曲线不平滑,很容易给人卡顿的感觉 解决方案有两种,一种是云风给出的多线程gc 还有一种则是...

2016-03-22 23:00:56

阅读数 1056

评论数 0

编写高性能的Lua代码

前言 Lua是一门以其性能著称的脚本语言,被广泛应用在很多方面,尤其是游戏。像《魔兽世界》的插件,手机游戏《大掌门》《神曲》《迷失之地》等都是用Lua来写的逻辑。 所以大部分时候我们不需要去考虑性能问题。Knuth有句名言:“过早优化是万恶之源”。其意思就是过早优化是不必要的,会浪费大量时间,而...

2016-03-22 19:49:49

阅读数 435

评论数 0

Lua的文件操作自定义上传头像

先简单介绍一下被迫使用Lua的IO的情境: 游戏支持玩家自定义上传头像,在排行榜中会显示玩家列表(包括本服、跨服),原有的做法是先检测CCUserDefault中是否存在指定图片的key以及它的状态。然后在下载头像、下载完成后设置对应的状态。这样导致的一个问题就是CCUserDefault的读写...

2016-03-22 17:15:31

阅读数 1266

评论数 0

Lua标准库 - 输入输出处理(input and output facilities)

1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述   io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr 2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io...

2016-03-22 17:06:09

阅读数 440

评论数 0

调试lua代码

lua没有调试器,但是它提供了很强的调试功能(debug 库), 所以其实一些常用的调试功能都能很方便的使用,就像使用一个命令行调试器一样: -- debug.lua gvar1 = 100 function foo() local var2 = 10 funct...

2016-03-22 14:13:54

阅读数 793

评论数 0

lua的Debug库

debug库并不给你一个可用的Lua调试器,而是给你提供一些为Lua写一个调试器的方便。出于性能方面的考虑,关于这方面官方的接口是通过C API实现的。Lua中的debug库就是一种在Lua代码中直接访问这些C函数的方法。Debug库在一个debug表内声明了他所有的函数。 与其他的标准库不同的...

2016-03-22 14:08:23

阅读数 282

评论数 0

Lua中的异常处理pcall、xpcall、debug使用实例

这篇文章主要介绍了Lua中的异常处理pcall、xpcall、debug使用实例,这3个函数是Lua中的异常处理必须用到的,需要的朋友可以参考下 如果需要在Lua中处理错误,必须使用函数pcall(protected call)来包装需要执行的代码。 pcall接收一个函数和要传递个后者的...

2016-03-22 12:05:07

阅读数 3768

评论数 0

Lua中的模块(module)和包(package)详解

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容,需要的朋友可以参考下 前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和modul...

2016-03-17 20:40:05

阅读数 4243

评论数 0

lua编程 全局变量 环境 模块

1.全局变量与环境 lua中真正存储全局变量的地方不是在_G里面,而是在setfenv(i,table)的table中,所有当前的全局变量都在这里面找,只不过在程序开始时lua会默认先设置一个变量 _G=这个里面的table而已。所以在新设置环境后,如果还想找到之前的全局变量,通常需要附加上为...

2016-03-17 20:31:40

阅读数 291

评论数 0

深入理解Lua的闭包一:概念和应用

本文首先通过具体的例子讲解了Lua中闭包的概念,然后总结了闭包的应用场合,最后探讨了Lua中闭包的实现原理。 闭包的概念 在Lua中,闭包(closure)是由一个函数和该函数会访问到的非局部变量(或者是upvalue)组成的,其中非局部变量(non-local variable)是指不是在局...

2016-03-16 19:45:26

阅读数 208

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭