Cocos2d-x 加密Lua文件之Luajit

2014-7-1 杜世伟 cocos2d-x

cocos2d-x 3.*版本中luajit.exe的默认位置是 tools\cocos2d-console\plugins\plugin_luacompile\bin,不需要自己编译生成luajit.exe

执行luajit.exe -h
 QQ截图20150701185924.png
-b [选项]输入输出
此选项保存或列出字节码。下面的附加选项被接受:
-l -只有列表中的字节码。
-s -带调试信息(这是默认值)。
-g -保持调试信息。
-n名称 -设置模块名称(默认值:从输入的名字自动检测)
-t类型 -设置输出文件类型(默认值:从输出名称自动检测)。
-a拱 -覆盖架构目标文件(默认:本地)。
-o操作系统 -目标文件覆盖OS(默认:本地)。
-e块 -块使用字符串作为输入。
- (一个减号) -标准输入使用作为输入和/或标准输出作为输出。
输出文件类型,从输出文件名的扩展名自动检测:
c  - C源文件,字节码导出数据。
h -  C头文件,静态字节码的数据。
obj 或o  -目标文件,字节码导出数据(操作系统和体系结构特定的)。
生或任何其他分机-原始字节码文件(便携式)。
注意事项:
另请参见string.dump() 的字节码便携性和兼容性的信息。
原始字节码格式的文件是自动检测,并可以像任何Lua的源文件被加载。例如,直接在命令行或 的loadFile() ,dofile处理()等。
静态嵌入模块的字节码在您的应用程序,生成目标文件,只是与应用程序联系起来。
:在大多数ELF的系统(如Linux)的与链接应用程序,例如,当你需要明确导出全局符号-Wl,-E
需要()尝试加载从出口符号字节码嵌入数据(* .EXE或lua51.dll在Windows上)和共享库中package.cpath。
典型用法示例:
luajit -b test.lua test.out#保存字节码到test.out
luajit -bg test.lua test.out#保存调试信息
luajit -be“打印(”世界你好')“test.out#保存CMDLINE脚本

luajit -bl test.lua#列表到stdout
luajit -bl test.lua的test.txt#列出来的test.txt
luajit -ble“打印(”世界你好')“#列出CMDLINE脚本

luajit -b test.lua test.obj#生成对象文件
#链接test.obj与您的应用程序并加载它要求(“测试”)。

i:进入运行后,交互模式的脚本

-j CMD [= ARG [,ARG ...]
此选项执行的LuaJIT控制命令或激活可加载扩展模块之一。该命令首先查找在 JIT。*库。如果没有匹配的功能被发现,一个名为模块的JIT。<CMD>加载和启动() 模块的调用函数用指定的参数(如果有的话)。之间的空间-j和CMD是可选的。

http://luajit.org/running.html

 

以上是关于luajit的说明,下面说下具体使用方法

如果执行单个文件的话,可以直接使用luajit.exe -o 生成的lua文件 被生成的lua文件

附件是一个处理多个文件夹下的lua的bat文件,使用方法的点击bat文件,拖拽你将要生成的lua文件夹即可,附件中的生成路径自行修改 encrypt_lua.zip

 (转载请注明来源)http://www.dushiwei.cn/post/442

 

如果你的cocos2d-x的版本是低于3.0的,使用luajit编译lua文件请参考感谢@纯洁码农

http://blog.csdn.net/ArmyShen/article/details/30049721

 

标签: lua cocos2d-x luajit

Powered by emlog 沪ICP备2023034538号-1