Ответ 1
См. документацию Clozure Common Lisp в разделе Сохранение приложений
Компилирование и загрузка Lisp файлов
Вы можете скомпилировать файл с именем /foo/bar.lisp
, вызвав
(compile-file "/foo/bar.lisp")
Это создаст файл fasl (FASt Load), который содержит собственный код.
Вы можете загрузить скомпилированный файл, файл fasl, с помощью функции LOAD
. LOAD
и COMPILE-FILE
являются стандартными функциями Common Lip.
Создание приложений
Несколько определений:
- Ядро CCL: часть CCL, которая обеспечивает низкоуровневые службы времени выполнения, такие как управление памятью.
- Изображение: сохраненный дамп Lisp кучи
- Приложение: ядро CCL + изображение. Это может быть в одном файле.
Вы можете сохранить приложение, вызвав специальную функцию CCL:
(save-application "/foo/bar-image" :toplevel-function #'main)
Это сохранит изображение, которое вы можете запустить с помощью ядра CCL из командной оболочки:
ccl -I /foo/bar-image
Чтобы сохранить исполняемый файл, включающий ядро, используйте его из Lisp:
(save-application "/foo/bar-app" :toplevel-function #'main :prepend-kernel t)
Вы можете вызвать этот исполняемый файл, как обычно, с помощью /foo/bar-app
из командной оболочки.
В Clozure Common Lisp вы можете проверить
*command-line-argument-list*
для списка предоставленных аргументов командной строки.