gpt4 book ai didi

lisp - 如何在类Unix操作系统下方便的运行SBCL代码?

转载 作者:太空宇宙 更新时间:2023-11-03 18:32:29 25 4
gpt4 key购买 nike

(David James 写了问题和答案。我将对其进行编辑以符合 Stackoverflow 标准。)

使用 SBCL,您可以将 Lisp 代码编译为机器代码。

与 Java、.net、C++ 甚至 C 一样,您将需要运行时。所以有两种编译 Common Lisp 代码的方法。

首先是制作巨大的二进制文件,这在 SBCL 文档中有解释。目标机器上不需要 SBCL。

另一种方式更为灵活,即以fasl(FASt Load)格式创建机器代码。目标机器上需要 SBCL 运行时。

第二种方式在类Unix操作系统下如何工作?

最佳答案

(大卫·詹姆斯的回答:)

我们将在我们的系统中创建两个命令:一个用于批量编译 Lisp 代码,另一个用于轻松运行 Lisp 代码:

使用您喜欢的编辑器,打开名为 sbcl.compile 的文件。内容应该是:

    #!/bin/bash
sbcl --noinform --eval "(compile-file \"$1\")" --eval "(quit)" > /dev/null

现在编译 Lisp 文件使用:

    # sbcl.compile hello.lisp

这将创建一个 hello.fasl 文件。

现在为了轻松运行这些文件,我们创建了一个新命令。使用您喜欢的编辑器打开一个名为 sbcl.run 的文件。内容应该是:

    #!/bin/bash
sbcl --noinform --load "$1" --quit --end-toplevel-options "$@"

现在您可以调用sbcl.run hello.fasl 来运行 native 代码。

    # sbcl.run hello.fasl

SBCL 手册中描述了详细信息:Starting SBCL

关于lisp - 如何在类Unix操作系统下方便的运行SBCL代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com