【发布时间】:2018-06-12 04:10:30
【问题描述】:
我最近一直在使用鸡肉方案,我觉得它真的很好,有人建议 chez 方案是最快的方案实现。所以我想尝试一下,但我不知道如何从 chez 创建编译的二进制文件,就像在鸡计划中一样。
【问题讨论】:
标签: scheme chicken-scheme chez-scheme
我最近一直在使用鸡肉方案,我觉得它真的很好,有人建议 chez 方案是最快的方案实现。所以我想尝试一下,但我不知道如何从 chez 创建编译的二进制文件,就像在鸡计划中一样。
【问题讨论】:
标签: scheme chicken-scheme chez-scheme
Chez 有一个 JIT,您可以将文件编译成类似 fasl 的文件,您可以像源文件一样运行这些文件。
Chez Scheme 将源代码形式编译为机器码 在评估它们之前,即“及时”。为了速度 加载一个大文件或一组文件,每个文件都可以编译 提前通过 compile-file 将编译后的代码放入 单独的目标文件。例如, (compile-file "path") 编译 形成文件 path.ss 并将生成的目标代码放在 文件路径.so。加载预编译文件本质上没有什么不同 从加载源文件,除了加载速度更快,因为 编译已经完成了。
在编译一个文件或一组文件时,通常更方便的是 使用 shell 命令而不是交互式地进入 Chez Scheme 来执行 汇编。这很容易通过“管道”在 命令编译文件如下所示。
echo '(compile-file "filename")' | scheme -q
【讨论】:
Sylwester 已经提到了 fasl 二进制文件,但是这个解决方案仍然需要分发一个 chez 方案解释器。产生可分发二进制文件的更有趣的解决方案是 chez-exe https://github.com/gwatt/chez-exe
【讨论】: