文档章节

luac luajit接入笔记

 为往圣继绝学
发布于 2016/05/17 12:03
字数 596
阅读 99
收藏 0
点赞 2
评论 0

先做个简介,luac和luajit是干什么的?

他们是将lua源码文件,生成为二进制01编码的文件,这样做的好处是1,安全,2机器识别速度快。原来读lua文件要经过一遍语义分析等,现在省掉了中间几个步骤。

luac是lua官方自带的,luajit是第三方的,从我们测试效率上来说,luajit更快,lua最慢。

先说luac

接入luac时最好是下载源码编译,因为如果是现成的.a文件,首先安全先不说,兼容就可能有问题,毕竟那是在别人的机器上编译好的文件。另外注意点是makefile里默认的编译环境是linux,如果是在mac上编译,一定要改makefile(注意看makefile里的注释,都写清楚了),否则编译出来的二进制文件是无法被lua解释器识别的。在cocos2d的解释器里,代码是不用修改的,因为lua官方都支持好了。编译完成之后,生成了一个luac的命令(windows下是luac.exe),这个命令可以将lua文件转换为二进制文件。(命令怎么敲,自行搜索解决吧)将这个文件替代原来的lua文件,没报错,就表示成功了。

再说luajit

同样建议自己编译,同样要修改makefile文件,mac下用xcode编译还有修改pagezero参数等等bug,(遇到的话自行网上搜索吧),同样会生成一个luajit文件,执行这个命令可以将lua转换为二进制,但是这里要多一步,就是cocos2d里的头文件和二进制文件,要替换为luajit官方的头文件和二进制。

接入的时候注意版本对应,lua和luajit都可以查看当前版本,cocos2d里的lua头文件里也有宏记录了lua版本,一定要对应好。

我的项目最终选择了luac,为什么,因为luajit不支持ios的64位,而苹果要求必须支持。而且luajit官方好久都没更新了。

不过luac有一些反编译的工具,所以最后还要再进行一次加密才比较保险。luajit的反编译目前还没看到。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 4
码字总数 2798
作品 0
朝阳
高级程序员
ubuntu + nginx + lua 自动安装脚本

!/bin/bash 初始化时间 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime apt-get update apt-get install -f rp=/usr/local/srccd $rpif [ ! -s "$rp/nginx-1.14.0" ]thenwget http:/......

会当凌绝顶 ⋅ 05/11 ⋅ 0

ubuntu+nginx+lua自动安装脚本

#!/bin/bash 初始化时间 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime apt-get update #apt-get install -f rp=/usr/local/src cd $rp if [ ! -s "$rp/nginx-1.14.0" ] then wget h......

会当凌绝顶 ⋅ 05/11 ⋅ 0

nginx lua 找不着ffi模块

2018/04/18 07:18:41 [error] 7304#0: *10 lua entry thread aborted: runtime error: ...ua_extend/lua_lib/lua-resty-string/lib/resty/md5.lua:4: module 'ffi' not found: no field pack......

会当凌绝顶 ⋅ 04/18 ⋅ 0

Tengine 结合 lua 防御 cc ***

原文出处:https://help.aliyun.com/knowledge_detail/41336.html 本文介绍一种 Tengine 结合 lua 防御 cc ***的案例。用户可以进行相关尝试,但本文只用于操作演示,不对操作结果和出现的问...

kuSorZ ⋅ 前天 ⋅ 0

深度解析Tengine的调试与资源监控方法论

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,提供更强大的流量负载均衡能力、全站HTTPS服务、安全防攻击、链路追踪等众多高级特性。团队的核心成员来...

樰篱 ⋅ 05/31 ⋅ 0

云服务上使用神奇的nginx --with-stream模块开启mysql外网地址

因为有时候有那么一个需求,需要云数据库开放外网地址,但是有个别云运营商是没有提供这个操作的,经过几番头脑风暴后,想起了nginx上又一个--with-stream模块可以把内网ip端口映射到外网地址...

legehappy ⋅ 04/17 ⋅ 0

使用nginx+lua实现WAF功能

一、了解WAF 1.1 什么是WAF Web应用防护系统(也称:网站应用级***防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用 防火墙 是通过执行一系列针...

kuSorZ ⋅ 06/20 ⋅ 0

不懂Python,你将成为人工智能时代的新“文盲”

  每个阶段,大家对“文盲”的定义都是不相同的,以前不识汉字就是文盲,后来不会说英语就是文盲。在人工智能时代的今天,当然不懂Python语言,你就是“文盲”!现在你肯定在问Why?   众...

深度学习 ⋅ 06/12 ⋅ 0

浅析Android手游lua脚本的加密与解密

本文转载自 梦幻西游手游美术资源加密分析 浅析android手游lua脚本的加密与解密 lua、luac、luaJIT三种文件的关系 lua手游过程中有三种文件:lua、luac、luaJIT。lua是明文代码,直接用记事本...

qq_32400847 ⋅ 2017/11/12 ⋅ 0

C++轻量级脚本:lua

[lua]: http://www.lua.org/ C++轻量级脚本:[lua][lua] 1) [Lua][lua] 轻量级脚本语言,源代码也及其轻量,能很方便得嵌入到C/C++。 Lua最著名的的莫过于游戏脚本,但这次过程中新发现的Ngi...

加壹 ⋅ 2014/04/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

行政区划代码转为字典形式

原数据为: http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/201804-06041553.html 手动替换了一下格式,并使用下面的代码处理. # 输入格式s = """110000:北京市110101:东城区1101...

漫步海边小路 ⋅ 23分钟前 ⋅ 0

android apk 签名

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把...

国仔饼 ⋅ 32分钟前 ⋅ 0

springcloud+jps+mybatis多数据库配置

多数据库配置 配置我们目录结构设置: config ---datasource ----jpa ----mybatis ----redis Datasource中是数据的相关配置 Jap中是springDatajpa的相关配置 Mybatis中是mybatis的相关配置 ...

大-智-若-愚 ⋅ 39分钟前 ⋅ 0

Spring mvc HandlerMapping 实现机制

概述 当DispatcherServlet接受到客户端的请求后,SpringMVC 通过 HandlerMapping 找到请求的Controller。 HandlerMapping 在这里起到路由的作用,负责找到请求的Controller。 Spring MVC 默认...

轨迹_ ⋅ 42分钟前 ⋅ 0

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 今天 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部