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似乎没有太大的影响。

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

4

1 回答 1

8

您对 CCL 无能为力。

一件事可能是通过不记录各种调试信息(参数列表、文档、源位置...)来使用自定义配置创建更小的基础映像。

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

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

于 2012-06-17T22:56:51.333 回答