如何缩小Clozure Common Lisp可执行文件的大小?

8
我保存了这个简单的程序。
(defun hello-world ()
  (format t "Hello, world"))

(defun main ()
  (hello-world))

使用ccl:save-application命令来保存应用程序。
(ccl:save-application "test"
                      :toplevel-function #'main
                      :prepend-kernel t
                      :purify t
                      :impurify t)

从Clozure Common Lisp REPL中运行。

在Mac OS X上,生成的可执行文件大小为25M。我知道它包含了Lisp内核和Lisp系统的内存表示。但是对于这样一个简单的程序来说,25M似乎有点大。参数purifyimpurify似乎没有太大的影响。

我有什么选项可以减小可执行文件的大小吗?有吗?


1
一个相关的线程:https://dev59.com/fGgu5IYBdhLWcg3w2KfM - Juanito Fatas
1个回答

8

在CCL中,你能做的事情并不多。

其中一个可能的方法是使用自定义配置创建一个较小的基础图像,不记录各种调试信息(arglists、文档、源位置等)。

你也可以压缩可执行文件并将压缩文件发送出去。

CCL AFAIK缺乏缩小应用程序的交付工具 - 类似于Allegro CL和LispWorks的工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接