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

Jan*_*ard 8 size executable common-lisp ccl

我保存了这个简单的程序

(defun hello-world ()
  (format t "Hello, world"))

(defun main ()
  (hello-world))
Run Code Online (Sandbox Code Playgroud)

运用 ccl:save-application

(ccl:save-application "test"
                      :toplevel-function #'main
                      :prepend-kernel t
                      :purify t
                      :impurify t)
Run Code Online (Sandbox Code Playgroud)

来自Clozure Common Lisp REPL.

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

我有什么选择来减少可执行文件的大小?有吗?

Rai*_*wig 8

你可以用CCL做很多事情.

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

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

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