2012-06-17 10 views
8

gespeichert Ich dieses einfache ProgrammWie kann die Größe einer Clozure Common Lisp-Programmdatei reduziert werden?

(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) 

vom Clozure Common Lisp REPL verwenden.

Die resultierende ausführbare Datei hat eine Größe von 25M auf Mac OS X. Ich verstehe, dass es den Lisp-Kernel und eine In-Memory-Darstellung des Lisp-Systems enthält. Noch 25M scheint für ein so einfaches Programm etwas groß zu sein. Die Parameter purify und impurify scheinen keine große Wirkung zu haben.

Welche Optionen habe ich, um die Größe der ausführbaren Datei zu reduzieren? Sind da irgendwelche?

+1

ein verwandter Thread: http://stackoverflow.com/questions/11036070/lisp-binary-size – juanitofatas

Antwort

7

Es gibt nicht viel, was Sie mit CCL tun können.

Eine mögliche Sache könnte sein, ein kleineres Basisbild mit einer benutzerdefinierten Konfiguration zu erstellen, indem verschiedene Debug-Informationen (Arglisten, Dokumentation, Quellorte, ...) nicht aufgezeichnet werden.

Sie können auch die ausführbare Datei komprimieren und die komprimierte Datei versenden.

CCL AFAIK fehlen Lieferwerkzeuge, um die Anwendung zu verkleinern - Werkzeuge wie die von Allegro CL und LispWorks.

Verwandte Themen