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

时间:2012-06-17 20:26:36

标签: size common-lisp executable ccl

我保存了这个简单的程序

(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 个答案:

答案 0 :(得分:8)

你可以用CCL做很多事情。

有一件事可能是使用自定义配置创建一个较小的基本映像,而不记录各种调试信息(arglists,文档,源位置......)。

您还可以压缩可执行文件并发送压缩文件。

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