首先学习下LuaEnv类(Lua虚拟机,建议全局唯一)object[] DoString(string chunk, string chunkName = "chuck", LuaTable env = null)
描述:
执行一个代码块。
参数:
chunk: Lua代码;
chunkName: 发生error时的debug显示信息中使用,指明某某代码块的某行错误;
env :为这个代码块;
返
转载
2024-03-27 17:35:44
56阅读
各位看官们,咱们今天还是接着上一回的内容,列举具体的例子给大家。闲话休说,言归正转。各位看官们,在实际的工作中经常需要统计代码行数。不知道看官们有什么好的统计方法?大家都不说话。看来是没有,接下来咱们说几种方法来统计代码行。使用工具统计代码行:现在的集成开发工具都有显示行号的功能。比如Visual Studio系列,Eclipse。大部分的文本工具也能显示文件行号,比如咱们前面说的Gedit,Vi
Lua代码编写规范 开发中,大量使用lua,暂时根据当前状况,总结相对而言较好的规范,在多人协作中可以更好的开发、交流。
介绍
该文档旨在为使用lua编写应用程序建立编码指南。 制订编码规范的目的: 统一编码标准,通用,提高开发效率; 使代码通俗易懂,易于维护。 切记:善用调试器。
一、&
怎么调试lua性能我们的游戏使用的是Cocos2dx-lua 3.9的项目,最近发现我们的游戏。运行比较缓慢。想做一次性能优化了。其实主要分为GPU、CPU的分别优化。GPU部分的优化。网上有很多优化措施。但是CPU因为是每个项目都不一样所以也没有什么特别的通用的优化手段。软件运行的速度毕竟跟你的代码质量是直接挂钩的。常规的Lua优化方式。也就是很多地方在提的公共函数的本地化。比如说`local
转载
2024-05-11 19:02:50
119阅读
lua是动态类型语言,变量不要类型定义。lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。 可以通过type测试给定变量或者值的类型。 1 print(type("Hello world")) --> string
2 print(type(10.4*3))
转载
2024-03-28 05:05:19
128阅读
Lua称为解释型语言的原因:Lua允许在运行源代码之前,先将源代码预编译为一种中间形式。区别解释型语言的主要特征是在于编译器是否是语言运行时库的一部分,即有能力执行动态生成的代码。因为Lua中有dofile函数,才可以将Lua成为一种解释型的语言。
运行Lua代码块有三种形式:
 
转载
2024-04-25 17:09:23
118阅读
我们在度量一个程序(或者一个算法)执行时间的两种方法第一种最简单,我们直接在分别运行需要比较的算法计算个需要的时间然后进行比较 当然这种解决方式也是存在问题的:一是要想对设计的算法的运行性能进行评测,需要实际运行该程序;二是所得到的时间统计量依赖于计算机的硬件、软件等环境因素,这种方式要在同一台计算机的相同状态下运行,才能比较哪一种算法效率更高第二种通过分析某个算法的时间复杂度来判断哪一个算法更优
转载
2024-04-21 15:37:17
190阅读
算法的不同会导致其运行时间产生大幅变化。使用相同的算法,输入数据的量不同,运行时间也会不同。比如,对10 个数字排序和对1 000 000 个数字排序,很容易就想到后者的运行时间更长。那么,实际上运行时间会长多少呢?后者是前者的100 倍,还是1 000 000 倍?就像这样,我们不光要理解不同算法在运行时间上的区别,还要了解根据输入数据量的大小,算法的运行时间具体会产生多大的变化。我们使用“步数
转载
2024-03-22 13:54:07
114阅读
介绍安装luarocks语法注释标示符关键字全局变量数据类型变量赋值索引循环流程控制函数可变参数运算符一元运算符,返回字符串或表的长度。 #”Hello” 返回 5字符串迭代器泛型 for 迭代器无状态的迭代器多状态的迭代器table模块与包require 函数加载机制C 包元表(Metatable)元方法协同程序(coroutine)线程和协同程序区别基本语法生产者-消费者问题文件I/
转载
2024-05-21 16:30:31
61阅读
元表概念Lua中,面向对向是用元表这种机制来实现的。元表是个很“道家”的机制,很深遂,很强大,里面有一些基本概念比较难理解透彻。不过,只有完全理解了元表,才能对Lua的面向对象使用自如,才能在写Lua代码的高级语法时游刃有余。首先,一般来说,一个表和它的元表是不同的个体(不属于同一个表),在创建新的table时,不会自动创建元表。但是,任何表都可以有元表(这种能力是存在的)。e.g.
t = {}
转载
2024-04-23 21:41:08
60阅读
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码:1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件2、开始--运行--cmd3、luac -o out.lua 1.lua注: 
转载
2024-02-20 13:25:21
2549阅读
概述今天群里有人传了个apk文件,名字叫送给最好的TA。这是一个整人app,安装并打开会播放一段音频,并循环调节媒体音量,维持最大值。从后台划掉/卸载/关机都可以停止该程序。网传所谓的截图、获取设备信息并上传等行为均不存在。反编译后看到的截图相关代码实际上并没有被调用,只是打包apk时封装进去的类,关键逻辑位于main.lua中。apk分析拿到样本之后,别急着安装运行,先看看它的目录结构。 打开a
转载
2024-03-15 15:33:09
1186阅读
一、背景lua作为小巧的解释性语言,由于其轻量级,易维护性,且可以根据自身的特性来模拟面向对象,因此嵌入到越来越多的应用中,特别是游戏中,为游戏开发以及热更等带来了很大的便捷性,比如Cocos引擎的主流游戏,以及U3D游戏中的热更框架xlua等,都会用到lua语言;同时由于lua语言自身的这些特性,lua代码本身是不安全的,很多时候攻击者可以获取lua源码进行阅读,分析,盗用以及篡改等,然后进一步
转载
2024-05-25 15:42:42
750阅读
☺ lua 和 javaScript 差不多的,就是一些语法的细节不同,学过js,再注意一下下面的细节,就能上手了~ Lua 和 Js 的不同Lua 概述Lua概述Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua特性1.轻量级使用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入
转载
2024-05-23 10:50:03
37阅读
很多使用cocos2dx+lua做游戏的同学,都会想到一个问题,我的游戏一旦发布,怎样才能保证的我脚本代码不被破解,不泄露代码。虽然这和开源、共享的原则不合,但是代码也是coder的劳动成果,理应得到保护。特别是商业游戏更是如此,不希望被别人破解掉源码并且进行修改。 今天的话题就是如何实现lua脚本文件的加密和解密。 我在网络上查过,解决方案然后我经过考虑之后,总结出两种解决方案,供大
转载
2024-03-14 18:18:31
1199阅读
尽管将Lua称为一种解释性的语言,但Lua确实允许在运行源代码前将源代码预编译为一种中间形式。听上去编译似乎不在一种解释性语言的范畴之列,其实区别解释性语言的特征并不在于是否能编译它们,而在于编译器在运行时是否为库的一部分,即是否有能力且能轻易的执行动态生成的代码。正是因为Lua存在了类似dofile这样的函数,才可以将Lua称之为一种解释性的语言 一、Lua的dofile函数:dofile是一种
转载
2024-04-30 17:45:17
819阅读
酷勤网
虽然S60 V3系统已经被OPDA论坛破解多时,但是每次我帮别人破解手机想找个教程对照看一下都要搜索对比半天,一个人写一个东西……这个问题困扰很久了,所以干脆自己写个干净简单的教程,自己看也方便,大家看也方便。我选择的破解方法是我认为相对最简单,并对手机系统本身最安全的破解方法,期间需要重启手机一次。具体破解方法如下:第一步:下载
断点续传的原理在了解HTTP断点续传的原理之前,先来说说HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机(浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(web server),向客户机(浏览器)回复报文时的协议。请求和回复协议都由头和体组成。头和体之间以一行空行为分隔。 以下是一个请求报文与相应的回复报文
非常多使用cocos2dx+lua做游戏的同学,都会想到一个问题,我的游戏一旦公布,如何才干保证的我脚本代码不被破解,不泄露代码。尽管这和开源、共享的原则不合,可是代码也是coder的劳动成果,理应得到保护。特别是商业游戏更是如此,不希望被别人破解掉源代码而且进行改动。 今天的话题就是怎样实现lua脚本文件的加密和解
转载
2024-03-17 16:12:27
134阅读
0x00:xor加密原理简单异或密码(英语:simple XOR cipher)是密码学中一种简单的加密算法,它按照如下原则进行运算: A {\displaystyle \oplus } \oplus 0 = A A {\displaystyle \oplus } \oplus A = 0 (A {\displaystyle \oplus } \oplus B) {\displaystyle \o
转载
2024-03-18 19:33:54
114阅读