04-lisp基础视频教程
Category:中文学习四、创建或执行文件
https://www.cliki.net/Creating%20Executables
(defun main ()
(format t “Hello, world”))
(defun main ()
(format t “中国您好”))
ccl编译单个程序包
(ccl:save-application “ccl.exe”
:toplevel-function ‘main
:prepend-kernel t)
ccl是程序名,main是启动函数
? (ccl:save-application “ccl.exe”
:toplevel-function #’main
:prepend-kernel t
:purify t
:impurify t)
./test
Hello, world
26MB大小
退出命令
(quit)
sbcl编译程序
参考网址:http://www.sbcl.org/manual/#Saving-a-Core-Image
函数说明:Function: save-lisp-and-die [sb-ext] core-file-name &key toplevel executable save-runtime-options purify root-structures environment-name compression
以函数对象方式
* (sb-ext:save-lisp-and-die “sbcl.exe”
:toplevel #’main
:executable t)
以符号方式
(sb-ext:save-lisp-and-die “hello-world.exe”
:executable t
:toplevel ‘main)
41.3MB大小
退出命令
(quit)或(exit)
clisp编译单个函数
(defun main ()
(format t “Hello, world”)
(EXT:EXIT))
4.11MB大小,无法执行程序
参考:https://clisp.sourceforge.io/impnotes/quickstart.html
(EXT:SAVEINITMEM “clisp”
:QUIET t
:INIT-FUNCTION ‘main
:EXECUTABLE t
:NORC t)
其中main是程序启动时要调用的函数的名称,:QUIET t取消启动横幅,并且:EXECUTABLE t生成本地可执行文件。
调用
(EXT:EXIT)
在主函数的末尾,以阻止用户在程序完成时获得交互式LISP提示。
$ clisp -c hello.lisp
;; Compiling file hello.lisp …
;; Wrote file hello.fas
0 errors, 0 warnings
$ chmod +x hello.fas
$ hello.fas
“hello, world!”
退出命令
(exit)
1,安装Emacs插件
cd ~
rm -rf ~/.emacs 或者 rm ~/.emacs.d
git clone https://github.com/flyingmachine/emacs-for-clojure.git ~/.emacs.d