回答
那么,你希望把所有的Lua源到你的可执行文件,所以你需要这样的:
映射文件名的方法到Lua文件:
char lua_files[]={ "filename1\0filecontents1", "filename2\0filecontents2", 0, };
这可以通过在构建时读取您的Lua文件目录的脚本自动创建。
(可选)它甚至可以预编译这些文件,因此您可以从嵌入的Lua库中删除解析器。- 自定义装载机:
写短的Lua C函数,用于搜索该阵列,并返回load
和一个字符串包围发现filecontents作为一个Lua字符串。
将其放入package.searchers
进行注册。
如果您稍后想允许以某种方式加载自定义脚本,请保留旧的搜索器并确保您以某种方式要求文件不在源代码中。
对不起,我不明白你的意思。 –
@Ehan:详细阐述。 – Deduplicator
我想我现在有点理解了,比方说,Lua文件'test.lua'是否放在'lua'文件夹中,我会放入lua_files []'lua \ test.lua'吗?只是想澄清。 –
使用“embedded bytecode” LuaJIT的特点:
要静态嵌入模块的字节码在您的应用程序,生成目标文件,只是与你的应用程序联系起来。
require()尝试从导出的符号(在Windows上的* .exe或lua51.dll中)和package.cpath中的共享库中加载嵌入的字节码数据。
实施例:
luajit -b test.lua test.obj # Generate object file
# Link test.obj with your application and load it with require("test")
- 1. groovy构建脚本来构建一个flex项目
- 2. 用两个脚本构建java项目
- 3. 为开源项目构建脚本
- 4. PowerShell脚本构建Visual Studio项目
- 5. 通过脚本构建iphone项目
- 6. Netbeans项目为脚本构建
- 7. 构建java项目的NSIS脚本?
- 8. 与Python脚本一起运行结构
- 9. 组建一个多项目构建脚本
- 10. 无法在VS2010中构建lua与lua的项目,可疑库问题
- 11. 使用ANT构建脚本构建Eclipse项目
- 12. 如何构建python项目与coverage.py一起使用?
- 13. 如何与nix一起使用堆栈来构建wxHaskell项目?
- 14. Qt构建与构建脚本
- 15. xml与Lua脚本合并
- 16. 与Junit构建Maven项目
- 17. Android Eclipse测试项目不能与Android构建树中构建的项目一起使用
- 18. 从另一个lua脚本加载lua脚本
- 19. 在Debug中如何构建一个项目与版本不同?
- 20. 项目EXE构建不起作用
- 21. Lua Wireshark脚本
- 22. Orchard CMS构建脚本 - 包含在构建中的排除模块项目
- 23. 苹果脚本做shell脚本,xcode构建失败找到项目
- 24. 构建项目
- 25. 在C++中构建和运行C++ - C++脚本(而不是lua)
- 26. 需要创建一个脚本,从CSV创建目录结构
- 27. 运行构建脚本,而不是建立一个目标
- 28. 是否可以在java android项目中使用lua脚本?
- 29. Angular 2项目的初始构建脚本?
- 30. 使用ANT脚本构建Android测试项目
也http://stackoverflow.com/questions/194520/creating-standalone-lua-executables见。 – lhf
你也可以像[premake](https://github.com/annulen/premake/blob/master/scripts/embed.lua)那样在文本上做到这一点,并且如果你想要搞乱,静态混淆(即加密或压缩)字符串随着脚本更难 –