Skip to content

Commit 5472f7e

Browse files
committed
[update] micropython-mpy.md
1 parent dfe28c1 commit 5472f7e

File tree

1 file changed

+1
-14
lines changed

1 file changed

+1
-14
lines changed

docs/micropython-mpy.md

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,5 @@
22

33
MicroPython 定义了 `.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

0 commit comments

Comments
 (0)