File tree Expand file tree Collapse file tree 1 file changed +1
-14
lines changed
Expand file tree Collapse file tree 1 file changed +1
-14
lines changed Original file line number Diff line number Diff line change 22
33MicroPython 定义了 ` .mpy ` 文件的概念,该文件是一种二进制容器文件格式,在其中包含了预编译的 Python 代码,这种类型的文件可以像普通的 ` .py ` 模块一样被导入到 MicroPython 程序中。举个例子来说明这种类型文件的使用方法。例如,只要 ` foo.mpy ` 存在于指定的路径中,我们就可以通过 ` import foo ` 语句来导入 ` foo.mpy ` 文件。
44
5- 这种类型文件的导入规则是这样的,首先按顺序搜索 ` sys.path ` 中列出的每个目录。当搜索特定目录时,首先查找 ` foo.py ` ,如果找不到该目录,则查找 ` foo.mpy ` ,如果没有找到,则在下一个目录中继续搜索。通过这种方式,` foo.py ` 文件的优先级将高于将高于 ` foo.mpy ` 文件。
6-
7- 这些 ` .mpy ` 文件中的主要内容是字节码,这些字节码是通过 ` mpy-cross ` 程序从 Python 源文件(` .py ` 文件)生成的。对于一些芯片架构,` .mpy ` 文件还可以包含原生机器码,这些机器码可以通过多种方式产生,他们大部分是由 C 语言代码生成的。
8-
9- ## .mpy 文件的版本号和兼容性
10-
11- ## 在 .mpy 文件中使用原生机器码
12-
13- 本小节将介绍如何构建和使用包含来自非 Python 语言的本机代码的 ` .mpy ` 文件。
14- 这使您可以使用 C 之类的语言编写代码,进行编译并将其链接到 ` .mpy ` 文件,然后像普通的 Python 模块一样导入此文件。这可用于实现对性能至关重要的功能,或用于包含以另一种语言编写的现有库。
15-
16- 使用原生 ` .mpy ` 文件最主要的优点之一是该文件可以被动态导入到 MicroPython 中,而无需重新编译固件。你无需像在 [ MicroPython 中添加外部 C 模块] ( external_c_modules.md ) 时那样,重新编译你的固件。
17-
18- 这里的重点是使用 C 来构建原生模块,但是从理论上来说,任何语言编译成的独立机器码都可以放入 ` .mpy ` 文件中。
5+ 这种类型文件的导入规则是这样的,首先按顺序搜索 ` sys.path ` 中列出的每个目录。当搜索特定目录时,首先查找 ` foo.py ` ,如果找不到该目录,则查找 ` foo.mpy ` ,如果没有找到,则在下一个目录中继续搜索。通过这种方式,` foo.py ` 文件的优先级将高于 ` foo.mpy ` 文件。这些 ` .mpy ` 文件中的主要内容是字节码,这种类型的文件可以通过 ` mpy-cross ` 程序从 Python 源文件(` .py ` 文件)生成。
196
You can’t perform that action at this time.
0 commit comments