【问题标题】:Why does apple need Rosetta to have x86 based application work on arm chips?为什么苹果需要 Rosetta 让基于 x86 的应用程序在 arm 芯片上工作?
【发布时间】:2021-04-18 10:20:17
【问题描述】:

因此,在苹果推出基于 arm 的 cpu 之后,许多最初为 x86 芯片构建的应用程序现在必须使用二进制翻译器 Rosetta 进行翻译,同时等待每个公司发布适合 arm 架构的软件。

我不明白的是,既然我们有 arm c/c++ 编译器,为什么不能将在 x86 上运行的软件从源代码编译到 arm cpu?这不是解决了使用效率低下的二进制翻译器的问题吗?

我很确定我在这里混淆了一些重要的东西。

提前谢谢你。

【问题讨论】:

    标签: architecture arm rosetta


    【解决方案1】:

    对此有多种答案:

    1. Apple 最终希望所有软件都在 ARM 架构上开发和运行。这将使开发人员能够了解其中的区别。
    2. 需要出售具有新架构的 MacBook,开发人员是购买这些笔记本电脑的最大社区之一。
    3. 正如上面已经回答的那样,除了重新编译程序之外,还涉及其他几个阶段。例如,其中一个阶段是 nee 架构的性能优化和功耗优化。

    Apple 正在向 Rosetta 提供开发者社区以众包并构建更强大、直观和运行更好的应用程序。

    【讨论】:

      【解决方案2】:

      “just recompile”的第一个通常不是“just”,而是涉及一些工作。 但无论如何,即使只是简单的重新编译,每个供应商都必须为自己的软件这样做。 Apple 无法为每个人集中执行此操作..

      【讨论】:

      • 这将涉及什么样的工作?如果我正在编写一个在 x86 上运行的 C 程序,并且我正在切换到一台 arm 机器,我不能将我的 .c 文件移到那里并使用 arm 编译器进行编译吗?
      猜你喜欢
      • 1970-01-01
      • 2022-05-20
      • 2013-08-13
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多