cocos2d-x Lua编译成二进制

编译cocos2dx自带的luajit

  1. 进入目录external/lua/luajit/src
  2. 运行命令make && make install

编译使用的命令

luajit -b main.lua ../bytecode/main.lua

批处理

使用js脚本进行批处理,把src的lua文件编译到bytecode目录里面

#!/usr/bin/env node

var fs = require(‘fs‘);
var spawn = require(‘child_process‘).spawn

var src = "./";
var dest = "../bytecode/";

function filter(path) {
    var extendName = path.substring(path.lastIndexOf(‘.‘)+1, path.length);
    extendName = extendName.toLowerCase();
    if (extendName == "lua") {
        return true;
    }
    return false;
}

(function build(src, dest) {
    var lists = fs.readdirSync(src);
    var tempDirs = [];
    if (!fs.existsSync(dest)) {
        fs.mkdirSync(dest);
    }
    lists.forEach(function(path) {
        var fullSrcPath = src + path;
        var fullDestPath = dest + path;
        var stats = fs.lstatSync(fullSrcPath);
        if (stats.isFile()) {
            if (filter(fullSrcPath)) {
                console.log("luajit -b " + fullSrcPath + " " + fullDestPath);
                var ps = spawn("luajit", ["-b", fullSrcPath, fullDestPath]);
                ps.on(‘error‘, function (data) {
                    console.log(‘stderr: ‘ + data);
                });
            }
        } else if(stats.isDirectory()) {
            tempDirs.push(path);
        }
    });
    tempDirs.forEach(function(path) {
        build(src + path + "/", dest + path + "/");
    });
})(src, dest);

在src目录下面运行命令 Luajitbuild.js。

修改Android的编译配置

编译发布版本的时候,要把src目录移除,把bytecode加入到复制路径。

打开proj.android/build-cfg.json

修改:

{
    "from": "../../../src",
    "to": "src",
    "exclude": [
        "*.gz"
    ]
}

{
    "from": "../../../bytecode",
    "to": "bytecode",
    "exclude": [
        "*.gz"
    ]
},

修改游戏入口文件

打开config.json文件,把entry变量改成bytecode下的main.lua

Ok,大功告成

时间: 2025-01-11 07:25:27

cocos2d-x Lua编译成二进制的相关文章

lua编译为二进制方式

当不想使用户看到lua源码,文本文件可以通过luac,把lua文本文件“编译”成二进制的文件. [email protected]:~/lua$ luac -o redis-white redis-white.lua [email protected]:~/lua$ cat redis-white uaS? xV([email protected]@[email protected]&? localhost? redis_host redis_port_ENV 编译后的文件还需要lua解析器才可

将NodeJS项目打包,编译成跨平台的可执行文件

引言 我们都知道nodejs的项目本身是没办法编译成二进制可执行文件的,这给我们很多的业务场景造成了一些问题,比如要给客户演示程序的时候,可能还得安装node环境,然后在安装一堆的依赖包,这还必须是网络环境较好的情况下,而有时候,一般企业如果安全看的特别重,限制在局域网内访问互联网,那么连包都没办法安装,显然对于你和对于客户都是不友好的情景. 还有一种情况:如果我们演示项目时,把代码交给对方部署,我们自己也不放心啊:Nodejs代码是明文JS代码,代码泄露怎么办?当然,防代码泄露可以用JSham

Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密

项目要求lua加密脚本,有关调查的相关信息 ,学习lua自己可以使用luac编译成字节码脚本(bytecode)启用加密,我试了一下.确实是可行. 以下是本机lua编译字节码解释器: 1.创建一个名为1.lua文件,只有一个字print("Hello Lua"),新建一个空的out.lua脚本文件 2.開始--执行--cmd 3.luac -o out.lua 1.lua 注: luac -o [编译后脚本名] [脚本名],必要时带上脚本路径,如: 回车之后,再打开out.lua就能够

Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>

    首先要说,最近真的是太忙了,好久没写博客了,今天正好有空,就写一下最近在写游戏中的一些发现: 话说,基于Cocos2dx 引擎 + 脚本写游戏,至今的感触就是可以进行增量更新和即时编译等,节省了很多时间:好了废话不多说了,进入正题: 这里我是以Cocos2d-x-2.2.2 为例<其实,写着文章时候Cocos2d-x-3.2 都封版了>: 今天我就说一下怎么用Cocos2d-x3.2中的cocos-console 去 批量 加密lua脚本-变成luac文件 ,js文件变成jsc加密文

cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

cocos2d-x 3.0 中,如果你需要使用CocosStudio.Extensions扩展库 等等,都需要自己手动添加. 添加步骤如下:(比如说现在我要添加libExtensions,libCocosStudio , libGUI) 1.添加附加项目 右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\extensions\proj.win32\libExtensions,然后你会发现左边多了一个libExtensions扩展库 右击解决方案--->添加现有项目-

FMDB使用的一点心得:数据库创建、制表、查询等以及image转换成二进制nsdata保存到数据库中

<span style="font-size:18px;">//首先,获取数据库的路径,(如果不存在,就是我们想要存储的路径),不用担心每次都创建数据库会重复,不会的,如果没有则创建,有了就不会再重复创建: //接下来,我们要制表,首先我们先查看我们的表是否已经存在,方法在下面代码中:如果存在则跳过,不存在则创建</span> -(void)DataBaseInit { //获取Document文件夹下的数据库文件,没有则创建 NSString *dbPath

cocos2d-x v3.0的window平台搭建和编译成andriod程序

首先添加这个地址到系统环境变量,path 然后打开CMD,输入如下语句 现在就可以创建一个新项目了 这样一个空的cocos2d-x v3.0的项目就创建好了 接下来编译andriod程序 先在系统环境变量中添加一个NDK_ROOT 然后打开cmd 然后就开始编译了 接下来打开ADT中的eclipse 再添加andriod文件夹到工程里 cocos2d-x v3.0的window平台搭建和编译成andriod程序,布布扣,bubuko.com

C代码编译成可执行程序的过程

C代码通过编译器编译成可执行代码,经历了四个阶段,依次为:预处理.编译.汇编.链接. 接下来详细讲解各个阶段 一.预处理 1.任务:进行宏定义展开.头文件展开.条件编译,不检查语法. 2.命令:gcc -E [源文件]  -o [预处理文件] 3.案例:用gcc编译器预处理demo1.c代码,预处理后的文本放到demo1.i中.(gcc -E demo1.c -o demo1.i) demo1.c代码如下: 1 #include <stdio.h> 2 3 #define add(a, b)

转载:将STM32的标准库编译成lib使用【图文】

from:http://www.cnblogs.com/zyqgold/p/3189719.html 百度上边也有不少关于lib文件的文章,恰巧看到该博文,感觉该博文的条理清晰,步骤明确,故复制到这个博文中收藏,若文章作者看到且觉得不能装载,麻烦请告知,谢谢. 验证状态: 博主没有验证该博文. 将STM32的标准库编译成lib使用[图文] 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间