2.1 Dart compile 命令使用
编译类型
Dart compile 命令允许将 Dart 代码编译为多种类型:
子命令 | 输出 | 更多信息 |
---|---|---|
exe | 自包含可执行文件 | 一个独立的、特定架构的可执行文件,包含编译成机器码的源代码和一个小型的 Dart 运行时。 |
aot-snapshot | AOT模块 | 一个特定架构的文件,包含编译成机器码的源代码,但没有Dart运行时。 |
jit-snapshot | JIT模块 | 一个特定架构的文件,包含所有源代码的中间表示形式,以及程序训练运行期间执行的源代码的优化表示形式。若训练数据良好,JIT编译的代码可以比 AOT 代码具有更快的峰值性能。 |
kernel | 内核模块 | 源代码的可移植中间表示形式。 |
js | JavaScript | 一个可部署的 JavaScript 文件,由源代码编译而成。 |
实例代码
以下面的示例代码,探索 dart compile 命令的各种编译方式:
void main() {
print('Hello World!');
}
compile exe
Compile Dart to a self-contained executable.
执行:
dart compile exe main.dart
在当前目录下生成一个 5.7MB 的可执行文件 main.exe(Linux 系统下),可直接运行。
compile aot-snapshot
Compile Dart to an AOT snapshot.
To run the snapshot use: dartaotruntime <AOT snapshot file>
执行:
dart compile aot-snapshot main.dart
在当前目录下生成一个 830.2KB 的 main.aot。使用 dartaotruntime 执行。
compile jit-snapshot
The executable will be run once to snapshot a warm JIT.
To run the snapshot use: dart run <JIT file>
dart compile jit-snapshot main.dart
在当前目录下生成一个 5.4MB 的 main.jit。使用 dart run
执行。
compile kernel
Compile Dart to a kernel snapshot.
To run the snapshot use: dart run <kernel file>
dart compile kernel main.dart
在当前目录下生成一个 472bytes 的 main.dill。
compile js
Compile Dart to JavaScript.
dart compile js main.dart
在当前目录下生成一个 99KB 的 out.js。这个 js 文件,可以直接用 node
执行。
网络资源
本文作者:Maeiee
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!