Dart AOT 是如何工作的?

How Does Dart AOT Work?

在我搜索 Dart AOT 工作原理的过程中,除了 this video,我没有找到很多资源。我想知道当存在代码需要 运行 的不同硬件时,如何将代码编译为本机代码,例如 Android 或 iOS .

据我了解,这里只描述了用Flutter制作的应用。该描述(用 Dart 编写)然后被编译为本机机器代码,但是如何呢?用 Swift 编写的程序与用 Kotlin 编写的程序不同。

编译器从 Dart 源代码创建二进制代码。 对于移动应用程序,源代码是为多处理器 ARM、ARM64、x64 和两个平台编译的 - Android 和 iOS。这意味着每个受支持的处理器和平台组合都有多个生成的二进制文件。

From what I understand, there are only descriptions of apps produced in Flutter.

不确定你的意思。每种编程语言的源代码和编译到目标平台的概念基本相同。 JIT(即时)在运行时即时编译,而 AOT(提前)在部署和启动应用程序之前编译。

A program written in Swift is different from a program written in Kotlin.

也不确定你的意思。 Swift 可以编译为本机代码,Java 可以编译为 Java 字节码。 Swift 是 AoT,而 Java 是 JiT。最终结果始终是目标平台的二进制代码和 CPU.