【问题标题】:Can Chez scheme produce compiled binaries?Chez 方案可以生成编译后的二进制文件吗?
【发布时间】:2018-06-12 04:10:30
【问题描述】:

我最近一直在使用鸡肉方案,我觉得它真的很好,有人建议 chez 方案是最快的方案实现。所以我想尝试一下,但我不知道如何从 chez 创建编译的二进制文件,就像在鸡计划中一样。

【问题讨论】:

    标签: scheme chicken-scheme chez-scheme


    【解决方案1】:

    Chez 有一个 JIT,您可以将文件编译成类似 fasl 的文件,您可以像源文件一样运行这些文件。

    来自Using Chez Scheme

    Chez Scheme 将源代码形式编译为机器码 在评估它们之前,即“及时”。为了速度 加载一个大文件或一组文件,每个文件都可以编译 提前通过 compile-file 将编译后的代码放入 单独的目标文件。例如, (compile-file "path") 编译 形成文件 path.ss 并将生成的目标代码放在 文件路径.so。加载预编译文件本质上没有什么不同 从加载源文件,除了加载速度更快,因为 编译已经完成了。

    在编译一个文件或一组文件时,通常更方便的是 使用 shell 命令而不是交互式地进入 Chez Scheme 来执行 汇编。这很容易通过“管道”在 命令编译文件如下所示。

    echo '(compile-file "filename")' | scheme -q
    

    【讨论】:

    • 谢谢,但我正在寻找一个不需要 chez-scheme 解释器的已编译的单个二进制文件。找到了一个有趣的解决方案github.com/gwatt/chez-exe 看看。
    【解决方案2】:

    Sylwester 已经提到了 fasl 二进制文件,但是这个解决方案仍然需要分发一个 chez 方案解释​​器。产生可分发二进制文件的更有趣的解决方案是 chez-exe https://github.com/gwatt/chez-exe

    【讨论】:

    • 与Chicken相比在可执行文件大小和速度方面有什么好处吗?
    • @antonio 是的,Chez 方案实际上比 Chicken 更快。虽然我非常喜欢鸡肉,但我听说过很多关于 chez 的事情,这就是为什么我想在做出最终意见之前对其进行全面检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多