在搜索 Dart AOT 的工作原理时,除了 this video 之外,我没有找到很多资源。 .我想知道当代码需要在不同的硬件上运行时,如何将代码编译为原生机器代码,例如 Android 或 iOS。
据我了解,只有在 Flutter 中制作的应用程序的描述。然后将该描述(用 Dart 编写)编译为 native 机器代码,但如何?用 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 可以编译为 native 代码和 Java 到 Java 字节码。 Swift 是 AoT,而 Java 是 JiT。最终结果始终是目标平台和 CPU 的二进制代码。
关于dart - Dart AOT 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50012596/