lisp编译源代码为native可执行程序的过程(收集)

简介: 下面记录一下ccl编译一个可执行程序的过程,其中最关键的是ccl:save-application apple@apple-System:~$ ccl Welcome to Clozure Common Lisp Version 1.11-r16635  (LinuxX8632)! CCL

sbcl


(defun main ()
  (format t "Hello, world!~%"))

(sb-ext:save-lisp-and-die "hello-world"
  :executable t
  :toplevel 'main)


ccl


下面记录一下ccl编译一个可执行程序的过程,其中最关键的是ccl:save-application


apple@apple-System:~$ ccl

Welcome to Clozure Common Lisp Version 1.11-r16635  (LinuxX8632)!

CCL is developed and maintained by Clozure Associates. For more information
about CCL visit http://ccl.clozure.com.  To enquire about Clozure's Common Lisp
consulting services e-mail info@clozure.com or visit http://www.clozure.com.

? (defun hello-world ()
  (format t "Hello, world"))
HELLO-WORLD
? (defun main ()
  (hello-world))
MAIN
? (ccl:save-application "test"
                      :toplevel-function #'main
                      :prepend-kernel t
                      :purify t
                      :impurify t)
apple@apple-System:~$ ./test
Hello, world
apple@apple-System:~$ file test
test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=4daa568917548153e303eb1bf285371cd635f875, not stripped
apple@apple-System:~$ ll test

-rwxr-xr-x 1 apple apple 18919440  1月  4 22:30 test*


参考


http://www.cliki.net/Creating%20Executables


目录
相关文章
|
1月前
|
Ubuntu JavaScript Java
程序从源代码到可执行程序
这篇文章介绍了从源代码到可执行程序的转换过程,包括预处理、编译、汇编和链接四个主要步骤,并提到了解释性语言、脚本语言和超文本语言的不同处理方式。
23 0
|
6月前
|
编译器 Linux C语言
Linux嵌入式系统之交叉编译中编译器与解释器的区别
Linux嵌入式系统之交叉编译中编译器与解释器的区别
47 0
|
自然语言处理 编译器 Go
揭秘Go语言编译黑盒:从源代码到神奇可执行文件的完整过程
揭秘Go语言编译黑盒:从源代码到神奇可执行文件的完整过程
67 0
|
程序员 编译器 Linux
G0 语言编译运行说明 | 学习笔记
快速学习 G0 语言编译运行说明
|
存储 安全 编译器
基础C程序的开发和编译
基础C程序的开发和编译
基础C程序的开发和编译