本文介绍了ARMv8 - 在 64 位操作系统上运行传统的 32 位应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过阅读 ARMv8 手册,我有以下问题可以帮助理解大局.

Going thru the ARMv8 manual, I have the following questions to help understand the big picture.

  1. 可以使用旧版 32 位应用程序.(ARMv7 或更早版本)在 ARMv8 操作系统上按原样运行?

  1. Can legacy 32 bit app. (ARMv7 or earlier) run as is on the ARMv8 OS?

如果遗留应用程序需要为 ARMv8 重建并假设我将应用程序重建为 32 位 (Aarch32),这是否需要 32 位操作系统底层支持?(了解这里的寻址机制如何工作很有趣.)

If the legacy applications need to be rebuilt for ARMv8 and assuming that I rebuild the application as 32 bit (Aarch32), does this need 32 bit OS underlying support? (It is interesting to know how the addressing mechanism works here.)

请尽可能提供参考.

PS:我的目标是支持 Aarch64 的 Linux 操作系统(3.7 及更高版本)

PS: I am targeting Linux OS with Aarch64 support (3.7 and later)

推荐答案

Aarch64 平台可能运行 32 位 ARM,但这种兼容性是可选的.

Aarch64 platform may run 32bit ARM but this compatibility is optional.

要运行 AArch32 二进制文件,您需要应用程序将在 32 位版本中使用的所有库.与 x86-64 系统上的 i686 二进制文件相同.

To run AArch32 binaries you need all libraries application would use in 32bit versions. Same as with i686 binaries on x86-64 systems.

这篇关于ARMv8 - 在 64 位操作系统上运行传统的 32 位应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-16 07:16