如何在Mac上安装luac.cross?

时间:2019-02-22 01:36:15

标签: lua nodemcu

NodeMCU documentation状态

  

NodeMCU固件版本现在自动生成luac.cross映像   作为固件根目录中的标准配置;这可以用来   在开发机器上编译和语法检查Lua源,以获取   在ESP8266上的NodeMCU Lua下执行。

我从哪里获得luac.cross以及如何安装它?

我是否从Mac上的源代码构建NodeMCU固件,并且在此过程中创建了luac.cross?我一直在使用云服务来创建自定义固件。 luac.cross是否可以通过云构建获得?

直接的lua代码使MakerFocus NodeMCU板不堪重负,从而导致运行时出现紧急情况,并出现内存不足的问题。希望编译后的代码将减少RAM需求。

2 个答案:

答案 0 :(得分:1)

  

我从哪里获得luac.cross以及如何安装它?

您在发布的文档的引言中给出了答案。具体来说

  

NodeMCU固件版本现在会自动生成一个luac.cross图像...

因此,如果您在平台上手动 构建NodeMCU,则构建过程还将为您的平台创建一个lua.cross。这就是您无法下载或安装lua.cross的原因-它必须适合您的平台,即OS等。

接下来的逻辑问题是:如何在macOS上手动构建NodeMCU?

我不知道答案,因为我是在MacOS上使用Docker image(确实是您的)构建的。运行Docker构建版本会在固件根目录中创建一个luac.cross。但是,由于在此设置中,macOS只是Docker的宿主操作系统luac.cross 是Linux的,而不是macOS的本机。要使用它,您将再次启动Docker容器并在其中运行bash以获取一个外壳来执行Lua交叉编译:{{1​​}} pwd docker run --rm -ti -v

  

直接的lua代码使MakerFocus NodeMCU板不堪重负,从而导致运行时出现紧急情况,并出现内存不足的问题。希望编译后的代码可以减少RAM需求。

我讨厌幻灭你,但是如果我敢打赌,我希望节省下来的钱不足以产生预期的结果。在您开始阅读文档后,我想向您介绍相关的常见问题解答:How is NodeMCU Lua different to standard Lua?Techniques for Reducing RAM

也许使用LFS将是您的生命救星。

答案 1 :(得分:0)

如果您希望在不考虑平台的情况下使用此工具,则可以使用我的API来构建它:

curl -d @yourscript.lua -X POST https://nodemcu-luacross-run-64l7ehzjta-uc.a.run.app/compile > output.luac