(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
file.
现在为了轻松运行这些文件,我们创建一个新命令。使用您最喜欢的编辑器打开一个名为sbcl.run
。内容应该是:
#!/bin/bash
sbcl --noinform --load "$1" --quit --end-toplevel-options "$@"
现在你可以调用sbcl.run hello.fasl
运行本机代码。
# sbcl.run hello.fasl
SBCL手册中描述了详细信息:启动SBCL http://www.sbcl.org/manual/index.html#Starting-SBCL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)