我上Micropython 1.9.3了。我知道如何使用mpy-cross将.py转换为可由Micropython虚拟机执行的编译后的python .mpy。
问题是,如果我尝试使用@micropython.native编译,即将Python编译成本机代码,而不是字节码,则会得到一个错误:
../../mpy-cross/mpy-cross -o build/frozen_mpy/./frozentest.mpy -s frozentest.py frozentest.pyValueError:只能保存字节码
关于以下.py
@micropython.native
def native_add(a,b):
return (a+b)
c = native_add(2342,4542)问题
难道不可能在.mpy格式中嵌入本机代码吗?我在mpy-cross/mpconfigport.h中错过了什么选择吗
我唯一改变的是:
#define MICROPY_EMIT_THUMB (0) // changed it to 1
发布于 2017-11-06 15:55:12
我从微蟒论坛上的人那里得到了答案
你不能。这是TODO项目。如果您想将其放入闪存中,可以将其作为冻结的源代码嵌入到某些端口中。只需将这些文件放在一个名为脚本的子目录中,如put 8266/脚本或stm32 32/脚本。但它仍将在导入时进行编译并消耗RAM。通常情况下,如果这种编码变体仅用于代码中较小的、时间关键的部分,则不会造成损害。
https://stackoverflow.com/questions/47127671
复制相似问题