我保存了这个简单的程序
(defun hello-world ()
(format t "Hello, world"))
(defun main ()
(hello-world))
(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仍然有点大。参数purify
和impurify
似乎没有太大影响。
我有哪些选项来减少可执行文件的大小?有没有?
答案 0 :(得分:8)
你可以用CCL做很多事情。
有一件事可能是使用自定义配置创建一个较小的基本映像,而不记录各种调试信息(arglists,文档,源位置......)。
您还可以压缩可执行文件并发送压缩文件。
CCL AFAIK缺乏用于缩小应用程序的交付工具 - 像Allegro CL和LispWorks那样的工具。