如果我编译.lua
文件luac
,结果是否可以在没有安装Lua库或解释器的情况下运行?可以在没有Lua库的计算机上使用由luac生成的字节码吗?
回答
不可以。您可以在没有编译器的情况下构建的Lua版本上运行它,但仍需要Lua解释器来执行代码。
顺便说一句,编译后的Lua字节码也是机器特有的;即不能在一个体系结构上编译,然后在另一个体系结构上运行该输出,除非您了解细节(字节顺序,类型大小等)。
感谢您的解释! – user1309306 2012-04-03 01:09:43
请放弃我待处理的编辑!我完全错误。结果发现,Lua字节码的可移植性是有问题的 - 我发现只有很少的研究。我很抱歉。 – Deco 2012-04-03 09:06:51
如果你的代码没有使用任何基于动态负载的工具(即loadstring,loadfile,require等),你可以将Lua库去除为一个VM,因为编译器发出的代码是在这个虚拟中运行的代码机。这可以很容易地将Lua已经很小的占地面积减少到原来的1/3。
但是,由于这不是任何当前现有体系结构的本机二进制代码,因此无法在没有VM帮助的情况下直接运行它。
- 1. 我可以使用OCamlBuild生成可在没有OCaml库的计算机上运行的本机可执行文件吗?
- 2. 可以使用哪个库/程序来生成Java字节码?
- 3. Android的 - 在可以由计算机
- 4. 管道可以在LAN计算机上使用吗?
- 5. 你可以在没有操作系统的计算机上运行JVM吗?
- 6. 的Lua - 使字节码
- 7. 有没有方法可以防止cookie在另一台计算机上使用?
- 8. 我可以使用与ASM相同的“生成器”生成Java字节码和源代码吗?
- 9. 32位Lua字节码可以在64位系统上工作吗?
- 10. 可以使用tensorflow将word2vec算法分布在多台计算机上吗?
- 11. 我可以在计算机上获得SQLite数据库的内容吗
- 12. 在没有安装readline的计算机上使用readline?
- 13. 生成随机数onclick并计算生成的数字?
- 14. 有没有可以在Excel中生成图表的Python库?
- 15. jInterface可以在没有节点的情况下使用吗?
- 16. 在Solaris上,使用gcc编译的库可以使用与使用cc生成的库相同的方式吗?
- 17. 我可以拦截计算机上的重置按钮吗?
- 18. 您可以计算Active Directory使用的密码哈希值吗?
- 19. 这可以在远程计算机上工作吗?
- 20. 生成计算机移动
- 21. NHibernate可以生成没有用param名称评论的SQL吗?
- 22. 我可以在没有Ruby的情况下生成Rails SECRET_KEY_BASE吗?
- 23. 在生成不可计算的路由中传递id
- 24. 可以在另一个计算列中使用计算列吗?
- 25. 我可以在几台计算机上设置一个git存储库吗?
- 26. 试图抓住C字节码...... GNU/gcc可以生成像Clang/LLVM这样的C字节码吗?
- 27. 生成第25个元素集合的排列,可以在计算机上进行吗?
- 28. 我可以在一台计算机上同时使用Strawberry Perl和ActiveState Perl吗?
- 29. 在没有JRE的计算机上运行JAR。使其便携
- 30. 有没有一种工具可以从Lua脚本生成调用图?
我试图用我的(确实很重)的编辑来改善这个问题,以反映我相信OP真的在问什么。如果我错了,请随时大胆地纠正我!无论如何,我认为这个问题确实反映了Lua的新用户偶尔会感到困惑,值得保留。 – RBerteig 2012-04-03 22:45:24