Dart 支持交叉编译


Flutter main channel 提供了一个新功能:支持交叉编译 Dart AOT 可执行文件

目前支持从 Windows 和 macOS 编译为 Linux 二进制文件:

  • --target-os=linux

  • --target-arch=value:目标体系结构,可以是 arm64(64 位 ARM 处理器)或 x64(64 位处理器)

例如 :dart compile exe --target-os=linux --target-arch=x64 hello.dart -o hello

目前,执行这个命令会下载额外的 Dart SDK 二进制文件,并将它们缓存在 ~/.dart 目录 :

Downloading https://storage.googleapis.com/dart-archive/channels/dev/signed/hash/...4864.../sdk/gen_snapshot_macos_arm64_linux_x64...
Downloading https://storage.googleapis.com/dart-archive/channels/dev/raw/hash/...64e44.../sdk/dartaotruntime_linux_x64...
Specializing Platform getters for target OS linux.
Generating AOT kernel dill.
Compiling /tmp/hello.dart to /tmp/hello.exe using format Kind.exe:
Generating AOT snapshot. path/to/dir/.dart/3.8.0-265.0.dev/gen_snapshot_macos_arm64_linux_x64 []
Generating executable.
Marking binary executable.
Generated: /tmp/hello.exe

例如在 window 上通过 dart compile exe --target-os=linux  hello.dart -o hello 编译下方代码,然后到 linux 下执行,可以看到代码可以正常运行:

void main() {
  for (var i = 0; i < 10; i++) {
    print('hello ${i + 1}');
  }
}


你觉得 Dart 上的交叉编译是否会是刚需?


相關推薦

2025-04-11

。2025 年,我们计划重点为 Web 平台提供进一步的无障碍支持。 性能 我们将继续关注 Impeller 的质量和性能。我们计划通过移除 iOS 上的 Skia 后端,完成 iOS 向 Impeller 的迁移。 在 Android 上,我们的重点是现代 Android 设备,特别

2022-12-10

后 40 年中造成了十亿美元的损失。 Dart 从 2.12 版本开始支持健全的空安全,但它保留了运行非空安全代码或部分空安全代码的模式(混合模式)。 Dart 通过一系列的静态和运行时检查来提供健全的空安全。每一个使用了空安全

2023-05-11

了预览,即,通过 Wasm 编译扩大了对网络原生代码的平台支持。 100% 健全的空安全 Dart 3 已经成为了一种 100% 健全的空安全语言。100% 的空安全性为 Dart 带来了健全的类型系统。你可以相信,如果一个类型说一个值不是null

2022-05-12

多平台框架的路线图,提供了 macOS 和 Linux 桌面应用程序支持,以及对 Firebase 集成的改进、新的生产力和性能特性,并支持 Apple Silicon。 公告指出,Flutter 3 是谷歌完善 Flutter 所支持的平台的旅程的高潮部分;Flutter 3 中增加了

2023-05-25

以 ChatGPT 插件形式为所有免费用户提供。 Windows 11 原生支持解压 RAR 和 7Z 微软宣布,Windows 11 增加了对额外压缩格式的原生支持,包括 tar,7-zip,rar,gz 等,增加这一支持是因为 Windows 11 现在使用了 libarchive 开源项目。

2023-08-24

题。 目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。 Xmake = Build backend + Project Generator + Package Manager + [Remote|Dist

2022-09-01

组件和一些错误修复扩展了对不断发展的 Material 3 规范的支持,包括针对平板电脑和桌面开发人员的新功能,iPad 上的涂鸦手写支持、可选择的文本分组和触控板支持。 还包括 Dart 2.18,它为使用 Swift 或 Objective-C 编写的库和代

2023-05-07

作,为 Google Cloud Platform(谷歌云平台)的部署提供全面支持 新增 Terraform 模块,它设置了一个完整的后端基础设施,包括使用 Github Actions 的持续部署、负载均衡器、Cloud Engine 上的实例组、SSL 证书、Postgres 数据库。 新增功能

2022-05-26

题。 目前,Xmake 主要用于 C/C++ 项目的构建,但是同时也支持其他 native 语言的构建,可以实现跟 C/C++ 进行混合编译,同时编译速度也是非常的快,可以跟 Ninja 持平。 Xmake = Build backend + Project Generator + Package Manager + [Remote|Dist

2023-09-08

框架和服务来管理应用程序部署。其中许多都集成了 Wasm 支持。Ops 类别共包括编排和管理、托管平台、去中心化平台、调试和可观察性以及工件。  更多详情可查看官方公告。

2024-03-13

fix(rust):用作 api 参数的模型路径错误#17968 feat(rust):支持在客户端中禁用 boxed models 的能力 #17931 fix(rust):客户端的 oneOf generation #17915 TypeScript [typescript-fetch] 使用 == 检查属性是否为 null 或未定义#17972 使用 exis

2022-04-02

正式发布。 当前版本在 OpenHarmony 3.1 Beta 的基础上,更新支持以下能力: 标准系统基础能力增强 本地基础音视频播放能力、视频硬编解码、相机基础预览、拍摄能力。 RenderService新渲染框架、2D/3D绘制能力、新的动画和显示效果

2022-12-25

Meson 1.0 已正式发布,此版本带来如下增强改动: 支持带有“prefix”关键字参数的数组, 从 cpp/objcpp 警告级别 1 中删除一些标志 各种开发环境改进 支持字符串上的“in”运算符 “warning-level= everything”选项 Rust 模块被

2023-09-22

没有未定义的值、边界检测、默认使用 Immutable 结构体 支持 C/C++ 转换 方便使用的交叉编译 提供跨平台 UI 库 内置图形库 内置 ORM 内置 Web 框架 …… 根据V语言仓库的 PR 合并信息,目前已添加对短 lambda 表达式的支