python - 在不同的 ARM 架构上进行编程

标签 python linux arm raspberry-pi

我试图确保我了解有关不同 ARM 架构(例如 ARMv5 与 ARMv7)编程的一些基础知识。

我有一个 python 程序,已移植到较新的 Raspberry Pi B(Cotrex-7A)。要让它在 ARMv6 或 ARMv5 架构上运行需要什么?该程序无需 GPU 即可进行简单的波形处理和串行通信。

我的理解是,我必须为每种架构重新编译程序,以适应不同的指令集。我还需要运行相同版本的 Linux(在本例中为 Wheezy),但是这里我还需要考虑更多吗?

如果它在 ARMv7 中编译,是否有可能无法在 ARMv6 或 ARMv5 上编译

谢谢

最佳答案

Python 的好处是你很少需要担心 底层架构。 Python 是解释型的,所以解释器会做 处理 32 位、64 位、小端、大端的所有辛苦工作, 软浮点或硬浮点等。

此外,你不需要编译你的Python,因为解释器会 如果您同时提供 .py 和 .pyc 或 .pyo 文件,还可以编译您的源代码 而后者与需要的不匹配。编译python是 与编译 C 不同,例如,Python 的目标是虚拟的 机器,而不是真正的硬件。生成的 .pyc 或 .pyo 文件是 然而与特定的 python 版本相关。

一般都会提供源文件,如果没有.pyc或.pyo, 那么第一次运行 python 时它会创建它们(如果它有 文件权限)。第二次运行将使用编译后的版本, 如果来源没有改变。

关于python - 在不同的 ARM 架构上进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376618/

相关文章:

python - 为小数部分返回 True 的 str.isdigit 版本?

python - 我如何快速洗牌 Pandas 系列

linux - 使用 glibc 2.5 在 Linux 上构建 Rust 失败

c++ - 如何在arm可执行文件中获取printf函数的地址

c++ - 带有 lambda 表达式的 Boost::Signals2 插槽在 arm32 上使用 gcc6 失败

python - 在 python 中优化子数组最大/最小分析

Python 字符串到 bytearray 并返回

linux架构环境变量或定义?

linux - 使用 chmod 命令设置文件权限(文本和数字表示)

caching - ARM Cortex-M4 中是否有缓存?